通过 Heroku 上的我的 Rails 应用程序使用 Mandrill 发送设计确认邮件
Sending Devise Confirmation Mailer with Mandrill through My Rails App on Heroku
我在使用 Heroku 托管的 Rails 应用程序上有一个 Ruby。
我正在使用 Devise 进行用户身份验证。正在尝试让 Mandrill 发送 Devise 确认电子邮件。
我的 heroku 日志中出现以下错误
Sent mail to EXAMPLE@gmail.com (23.4ms)
2015-02-04T00:38:02.334898+00:00 app[web.1]: Completed 500 Internal Server Error in 335ms
注意:EXAMPLE@gmail.com没有收到电子邮件。
这是我的 config/environments/production.rb
中 Mandrill 的代码
config.action_mailer.default_url_options = { :host => "example.herokuapp.com" }
config.action_mailer.smtp_settings = {
:port => '587',
:address => 'smtp.mandrillapp.com',
:enable_starttls_auto => true,
:user_name => ENV['EXAMPLE@heroku.com'],
:password => ENV['EXAMPLE'],
:authentication => 'login',
:domain => 'example.herokuapp.com'
}
上面代码中的EXAMPLE实际上是用我的账户信息代替的。
我错过了什么?
我最终切换到 SendGrid 作为 Heroku 插件,它解决了我的问题。
这是在 config/environments/production.rb 中最终为我工作的代码:
config.action_mailer.default_url_options = { :host => "http://www.EXAMPLE.com" }
config.action_mailer.smtp_settings = {
:user_name => 'EXAMPLE',
:password => 'EXAMPLE',
:domain => 'EXAMPLE.com',
:address => 'smtp.sendgrid.net',
:port => 587,
:authentication => :plain,
:enable_starttls_auto => true
}
我在使用 Heroku 托管的 Rails 应用程序上有一个 Ruby。
我正在使用 Devise 进行用户身份验证。正在尝试让 Mandrill 发送 Devise 确认电子邮件。
我的 heroku 日志中出现以下错误
Sent mail to EXAMPLE@gmail.com (23.4ms)
2015-02-04T00:38:02.334898+00:00 app[web.1]: Completed 500 Internal Server Error in 335ms
注意:EXAMPLE@gmail.com没有收到电子邮件。
这是我的 config/environments/production.rb
中 Mandrill 的代码config.action_mailer.default_url_options = { :host => "example.herokuapp.com" }
config.action_mailer.smtp_settings = {
:port => '587',
:address => 'smtp.mandrillapp.com',
:enable_starttls_auto => true,
:user_name => ENV['EXAMPLE@heroku.com'],
:password => ENV['EXAMPLE'],
:authentication => 'login',
:domain => 'example.herokuapp.com'
}
上面代码中的EXAMPLE实际上是用我的账户信息代替的。
我错过了什么?
我最终切换到 SendGrid 作为 Heroku 插件,它解决了我的问题。
这是在 config/environments/production.rb 中最终为我工作的代码:
config.action_mailer.default_url_options = { :host => "http://www.EXAMPLE.com" }
config.action_mailer.smtp_settings = {
:user_name => 'EXAMPLE',
:password => 'EXAMPLE',
:domain => 'EXAMPLE.com',
:address => 'smtp.sendgrid.net',
:port => 587,
:authentication => :plain,
:enable_starttls_auto => true
}