我正在创建一个 ruby 脚本来检查 url 的响应状态,如果它等于 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
哦,还有,我从谷歌收到通知,一个安全性较低的应用程序试图访问我的帐户,因此我设置了安全性较低的应用程序可以使用我的帐户。
请您参考如下方法:
请注意根据@EricDuminil,此答案现已过时
To help keep your account secure, from May 30, 2022, Google no longer supports the use of third-party apps or devices which ask you to sign in to your Google Account using only your username and password. Which apparently means this answer no longer applies. Too bad.. –
如果您不使用 2 因素身份验证
转到此链接:
https://www.google.com/settings/security/lesssecureapps
然后选择:
“访问安全性较低的应用程序”
根据:
https://support.google.com/accounts/answer/6010255?hl=en
在这种情况下,您将使用您的普通电子邮件和密码进行连接。
如果您正在使用 2 因素身份验证
您需要为您的应用创建一个应用专用密码。请按照以下步骤操作:
转到 gmail
在右上角点击您的个人资料图标并选择“我的帐户”
点击“登录和安全”
稍微向下滚动“登录和安全”页面,有一个名为“应用密码”的部分,点击它。
您应该会看到一个标有“选择应用程序”的下拉菜单。选择邮件。
对于“在我的设备上”下拉菜单,选择“其他”并输入命令行或任何您想调用该应用程序的内容。
点击“生成”。将生成一个密码。复制该密码并将您在选项哈希中使用的密码替换为生成的密码:
options = { :address => "smtp.gmail.com", :港口=> 587, :user_name => '', :password => '
', :authentication => '普通', :enable_starttls_auto => 真 }
应该是这样的。我刚试过这个,它对我有用。
还要确保您的用户名是您的完整 Gmail 电子邮件地址。
您还可以在此处找到“官方文档”:https://support.google.com/accounts/answer/185833?hl=en