Ruby通过Gmail SMTP发送邮件

pu3pd22g  于 2023-04-05  发布在  Ruby
关注(0)|答案(1)|浏览(756)

我正在创建一个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

哦,还有,我收到了谷歌的通知,一个不太安全的应用程序试图访问我的帐户,所以我设置了不太安全的应用程序可以使用我的帐户。

b4lqfgs4

b4lqfgs41#

如果您 * 正在 * 使用双因素身份验证

您需要为应用程序创建应用程序特定密码。请按照以下步骤操作:
1.转到Gmail
1.在右上角点击您的个人资料图标,然后选择“我的帐户”
1.点击“登录和安全”
1.向下滚动“登录和安全”页面一点,有一个名为“应用程序密码”的部分。
1.您应该会看到一个标有“选择应用程序”的下拉列表。选择邮件。
1.对于“在我的设备上”下拉菜单,选择“其他”,然后输入命令行或任何你想调用的应用程序。
1.单击“生成”。将生成一个密码。复制该密码并将您在选项散列中使用的密码替换为生成的密码:
在我们的网站上,您可以通过以下方式访问我们的网站:http:smtp.gmail.com<generated_password_for_app>
应该是这样的。我刚试过这个,对我很有效。
另外,请确保您的用户名是完整的Gmail电子邮件地址。
你也可以在这里找到“官方文档”:https://support.google.com/accounts/answer/185833?hl=en

如果您 * 未 * 使用双因素身份验证

  • 注意:我认为这个答案现在已经过时了,因为@EricDuminil*

为确保您的账户安全,自2022年5月30日起, Google不再支持使用第三方应用程序或设备,这些应用程序或设备要求您仅使用您的用户名和密码登录Google帐户。这显然意味着这个答案不再适用。太糟糕了。-
转到此链接:
https://www.google.com/settings/security/lesssecureapps
并选择:
“访问不太安全的应用程序”
依据:
https://support.google.com/accounts/answer/6010255?hl=en
在这种情况下,您将使用正常的电子邮件和密码进行连接。

相关问题