ActionMailer没有使用ghost的gohost或Rails 3.1.3的谷歌应用程序

时间:2012-01-15 00:03:31

标签: ruby-on-rails ruby-on-rails-3.1 smtp

我在heroku上使用sendgrid在生产中发送电子邮件,但想在我的mac上本地发送电子邮件。

我已经配置了我的development.rb百万种不同的方式并且不断获取 “Net :: SMTPFatalError:550无法从指定地址接收:不允许未经身份验证的发件人”

从字面上看,我试过了 不同的身份验证b / w:plain和:login, 尝试使用我的Gmail帐户凭据, 尝试使用我的谷歌应用帐户凭据。

似乎什么都没有用,想法?

  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.perform_deliveries = true  
  ActionMailer::Base.smtp_settings = {
      :address        => 'smtp.gmail.com',
      :domain         => 'somedomain.com',
      :port           => 587,
      :user_name      => 'username@somedomain.com',
      :password       => 'somepassword',
      :authentication => :plain,
      :enable_starttls_auto => true
  }

我以为我已经在生产设置(production.rb)中进行了设置,结果发现我已经在environment.rb中设置了它们。删除它,一切都开始工作。

2 个答案:

答案 0 :(得分:2)

我在Environment.rb中偶然设置了邮件设置,因此它覆盖了我在生产/开发配置级别所做的任何事情。

答案 1 :(得分:1)

你可以尝试一下吗?

config.action_mailer.default_url_options = { :host => 'localhost:3000' }

ActionMailer::Base.smtp_settings = {  
  :address              => "smtp.gmail.com",  
  :port                 => 587,  
  :domain               => "gmail.com",  
  :user_name            => "email@gmail.com",  
  :password             => "password",  
  :authentication       => "plain",
  :enable_starttls_auto => true
}