我在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中设置了它们。删除它,一切都开始工作。
答案 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
}