我有一个Rails应用程序配置为通过SMTP使用亚马逊SES。然而,当我尝试发送电子邮件时,它似乎在一分钟后超时,并且出现EOFError。它闻起来像一个配置问题 - 电子邮件似乎构造得很好,我可以从AWS SES控制台发送自己的测试电子邮件。这是沙盒模式,并应用在开发模式下运行,但无论是发送和接收电子邮件已经被证实与SES和development.rb设置了这样的:EOFError错误尝试通过SMTP使用Amazon SES与Rails 3.1.3
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 [email protected] (59929ms)
Date: Tue, 20 Dec 2011 03:08:37 -0800
From: [email protected]
To: [email protected]
Message-ID: <[email protected]>
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'
请问您的ISP允许端口465出站连接?你可以使用你的亚马逊smtp凭证与普通的邮件客户端? – 2011-12-20 12:16:56
你是否得到这个工作?因为我有同样的问题... – Morten 2012-01-25 15:31:58
还没有得到它的工作 - 通过smpt结束了使用Gmail,这是足够好的暂时。我会在下面尝试Mihir的解决方案并回报(如果有效,请接受答案)。 Frederick,我能够在Rails之外使用smtp - 这是我自己的服务器实例,端口是开放的。 – 2012-01-26 17:25:13