在config / environments / production.rb
中 BASE_URL = "http://proproots.herokuapp.com/"
STATIC_WEBSITE = "http://proproots.herokuapp.com/"
REDIRECTING_URL = "http://proproots.herokuapp.com/"
config.action_mailer.default_url_options = { :host => 'proproots.herokuapp.com' }
config.action_mailer.raise_delivery_errors = true
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => "587",
:domain => "www.gmail.com",
:user_name => "sample@gmail.com",
:password => "password",
:authentication => "login",
:enable_starttls_auto => true,
:openssl_verify_mode => 'none'
}
下面给出的服务器日志
2013-12-13T17:33:49.134524+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=proproots.herokuapp.com fwd="122.164.115.170" dyno=web.1 connect=6ms service=5ms status=304 bytes=0
它在开发环境中工作正常,但在生产中无效,请有人尝试解决此问题
答案 0 :(得分:0)
Heroku 不需要使用邮件程序加载项。没有它,我已经多次这样做了,但是,如果你想要更强大的配置,能够拥有ISP信任的真正白名单IP等,建议使用邮件。
以下是我在Heroku上制作config/initializers/setup_mail.rb
的示例:
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "example.com",
:user_name => "donotreply@example.com",
:password => ENV["EMAIL_PASSWORD"],
:authentication => "plain",
:enable_starttls_auto => true
}
ActionMailer::Base.default_url_options = { host: 'example.com', protocol: 'http' }
我认为您的问题是使用“www.gmail.com
”作为domain
中的smtp_settings
...我还会移除openssl_verify_mode
行。
有关详细信息,请参阅此Tom Slykhouse's blog post。这是我从上面获得上述配置的地方,它对我来说效果超过一年。
答案 1 :(得分:0)
您的错误来自您路径中的favicon.ico文件似乎缺失 试过http://proproots.herokuapp.com/favicon.ico 从布局文件中删除链接或将favicon.ico添加到公共目录。
希望有帮助...
答案 2 :(得分:-1)