根据我在此处发布的问题:仅生产中的邮件程序错误我决定创建一个小型脚手架应用程序来寻找解决方案。
问题:我无法在生产中使用 smtp 发送(通讯)电子邮件,但它在开发中完美运行。
您可以在我的 github 存储库中找到该应用程序。
我刚刚创建了一个contact_messages 脚手架和一个简单的邮件程序。
点击提交按钮接收邮件后的错误日志:
Started POST "/contact_messages" for 194.XXX.XX.XXX at 2013-02-26 19:43:59 +0000
Processing by ContactMessagesController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"xx0nxxJ2xwxxJavvZ278EUy2TABjD9CixxNcxDqwg=",
"contact_message"=>{"name"=>"test", "email"=>"test@testemail.com", "message"=>"test1"}, "commit"=>"Create Contact message"}
Rendered contact_mailer/confirmation.text.erb (0.3ms)
Sent mail to test@testemail.com (38ms)
Completed 500 Internal Server Error in 100ms
Errno::ECONNREFUSED (Connection refused - connect(2)):
app/controllers/contact_messages_controller.rb:46:in `create'
电子邮件被保存,它们列在索引中。所以数据库应该可以正常工作。
我正在使用带有 Gmail 帐户的 Ubuntu 12.04、Apache、Phusion Passenger、SMTP。这可能是服务器问题,还是我在应用程序中做错了什么?
我正在使用fail2ban 和denyhost。这些工具会阻止 smtp 吗?
任何帮助将不胜感激,谢谢!