我在部署在Heroku上使用Authlogic进行身份验证的Rails 3.1应用程序中,无法成功地通过SendGrid发送电子邮件。 我在config / environments / [development.rb和production.rb]中有以下的Action Mailer配置:
config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.default_charset = "utf-8"
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.smtp_settings = {
:address => 'smtp.sendgrid.net',
:port => 587,
:domain => ENV['SENDGRID_DOMAIN'],
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:authentication => 'plain',
:enable_starttls_auto => true
}
对于production.rb,以上代码相同,只是
config.action_mailer.default_url_options = { :host => [Heroku应用名称] }
当我在开发模式下运行它时,报告了以下错误:
Completed 500 Internal Server Error in 21740ms
Net::SMTPFatalError (550 Cannot receive from specified address notification@[app-domain]: Unauthenticated senders not allowed
):
我现在不知道如何设置才能使其正常工作。 有没有经验丰富的人帮忙解决这个问题?
非常感谢。 你们是最棒的 !!!
config/initializers/mail.rb
中不写上ActionMailer::Base.delivery_method = :smtp
,你仍然可以将 SMTP 设置放在那里。 - jmdeldinconfig/initializers/mail.rb
,但在生产环境中却无法正常工作!不确定原因。 - nish