我创建了一个检查网址响应状态的ruby脚本,如果它等于504,它会将邮件发送到另一个电子邮件地址。出于某种原因,我得到了这个:/usr/lib/ruby/1.9.1/net/smtp.rb:960:in 'check_auth_response': 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbv9z (Net::SMTPAuthenticationError)
我quadra检查了身份验证数据,它们是有效的。也许代码中可能存在错误:
require 'mail'
options = { :address => "smtp.gmail.com",
:port => 587,
:user_name => '<myusername>',
:password => '<mypassword>',
:authentication => 'plain',
:enable_starttls_auto => true }
Mail.defaults do
delivery_method :smtp, options
end
Mail.deliver do
to 'dude920228@gmail.com'
from 'dude92@dude92.koding.com'
subject 'Test'
body 'Hurray!!! Test email!'
end
哦,我收到谷歌的通知,一个不太安全的应用程序试图访问我的帐户,所以我设置不太安全的应用程序可以使用我的帐户。
答案 0 :(得分:18)
转到此链接:
https://www.google.com/settings/security/lesssecureapps
选择:
&#34;访问安全性较低的应用&#34;
按照:
https://support.google.com/accounts/answer/6010255?hl=en
在这种情况下,您可以使用普通的电子邮件和密码进行连接。
您需要为应用程序创建应用专用密码。请按照以下步骤操作:
点击&#39;生成&#39;。将生成密码。复制该密码并使用生成的密码替换您在选项哈希中使用的密码:
options = {:address =&gt; &#34; smtp.gmail.com&#34 ;, :port =&gt; 587, :user_name =&gt; &#39;&#39 ;, :password =&gt; &#39;&#39 ;, :authentication =&gt; &#39;滑动&#39 ;, :enable_starttls_auto =&gt; true}
那应该是它。我刚试过这个,它对我有用。
另外,请确保您的用户名是完整的Gmail电子邮件地址。
您还可以找到官方文档&#39;在这里:https://support.google.com/accounts/answer/185833?hl=en