У меня есть приложение Rails, настроенное для использования Amazon SES через SMTP. Однако, когда я пытаюсь отправить электронное письмо, через минуту оно перестает работать, и я получаю EOFError. Это пахнет проблемой конфигурации - кажется, что электронная почта построена нормально, и я могу отправлять себе тестовые электронные письма с консоли AWS SES. Это в режиме песочницы, и приложение работает в режиме разработки, но отправка и получение электронной почты были проверены с помощью SES, и development.rb настроен так:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
Я пробовал миллион вариантов конфигурации; это начинает сводить меня с ума. Любая помощь или руководство будет очень и очень признателен. Подробнее:
Конфиг smtp, который у меня есть в инициализаторе:
ActionMailer::Base.smtp_settings = {
:address => "email-smtp.us-east-1.amazonaws.com",
:port => "465",
:authentication => :plain,
:enable_starttls_auto => true,
:user_name => "1234",
:password => "abcde"
}
Журналы с ошибкой, немного укороченные для краткости:
Sent mail to john@phu.com (59929ms)
Date: Tue, 20 Dec 2011 03:08:37 -0800
From: contact@phu.com
To: john@phu.com
Message-ID: <4ef06cb5ed3c_d73c3fc604c34d4491943@Johns-MacBook-Pro.local.mail>
Subject: Your invitation to Phu
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
<!DOCTYPE html>
....
Completed 500 Internal Server Error in 60564ms
EOFError (end of file reached):
app/controllers/admin_controller.rb:61:in `block in send_invite'
app/controllers/admin_controller.rb:46:in `send_invite'