Rails应用程序在staging环境下发送电子邮件时出现Net::SMTPAuthenticationError错误

103

我从我的Rails应用程序发送电子邮件。在开发环境下,它可以正常工作,但是在暂存环境下失败了。我收到以下错误:

Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/ContinueSignIn?plt=AKgnsbtdF0yjrQccTO2D_6)

请注意,我的预备环境没有域名。

这是我的staging.rb设置:

config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { :host => "my.ip.addr.here:80" }
config.action_mailer.smtp_settings = {
      :address => "smtp.gmail.com",
      :port => 587,
      :domain => 'my.ip.addr.here:80'
      :user_name => "my_email_name@gmail.com",
      :password => "my_email_password",
      :authentication => 'login'
}

请帮忙。

编辑。

在添加 :tls => true 选项后,我得到了:

OpenSSL::SSL::SSLError (Unrecognized SSL message, plaintext connection?)

然后我将端口更改为 25 ,现在我得到了这个(带有 30 秒的延迟):

Timeout::Error (execution expired)

1
我错误地复制了URL(Google可能已经为我们提前考虑了)到浏览器中。输入了我的密码,然后在面板中,我看到可以切换请求不仅来自受信任的站点的可能性。 - zmii
12个回答

0

我也遇到了这个问题,在 Gmail 设置中进行了一些研究,找到了解决方案:

  1. 在 Gmail 中,进入设置。

  2. 选择“转发和 POP/IMAP”选项卡。

  3. 在 IMAP 访问部分,选择“启用 IMAP”。


-1

我曾经遇到过同样的问题,经过一些尝试和错误,我找到了这个解决方案,需要在谷歌中启用一个选项:

点击https://www.google.com/settings/u/0/security/lesssecureapps

通过使用您在SMTP配置中提供的电子邮件地址登录,启用此处的“允许不安全应用程序访问”选项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接