如何使用ruby Mail gem通过gmail发送电子邮件

如何使用ruby Mail gem通过gmail发送电子邮件,ruby,email,smtp,Ruby,Email,Smtp,对2012年前一封邮件的回答表明,通过Gmail发送电子邮件应该可以做到以下几点 require 'mail' Mail.defaults do delivery_method :smtp, { address: "smtp.gmail.com", port: 587, user_name: <username>, password: <password>, authentication: :plain, enable

对2012年前一封邮件的回答表明,通过Gmail发送电子邮件应该可以做到以下几点

require 'mail'

Mail.defaults do
  delivery_method :smtp, {
    address: "smtp.gmail.com",
    port: 587,
    user_name: <username>,
    password: <password>,
    authentication: :plain,
    enable_starttls_auto: true
  }
end

Mail.deliver do
  from    <email>
  to      <email>
  subject 'This is a test email'
  body    'body'
end
需要“邮件”
Mail.do
传递方式:smtp{
地址:“smtp.gmail.com”,
港口:587,
用户名:,
密码:,
身份验证::普通,
启用\u starttls\u自动:真
}
结束
邮递
从…起
到
主题“这是一封测试电子邮件”
身体‘身体’
结束
然而,我试过了,我得到了

/home/<username>/.rvm/rubies/ruby-2.1.6/lib/ruby/2.1.0/net/smtp.rb:969:in `check_auth_response': 534-5.7.14 <https://accounts.google.com/ContinueSignIn?<url_parameters>(Net::SMTPAuthenticationError)
        from /home/<username>/.rvm/rubies/ruby-2.1.6/lib/ruby/2.1.0/net/smtp.rb:740:in `auth_plain'
        from /home/<username>/.rvm/rubies/ruby-2.1.6/lib/ruby/2.1.0/net/smtp.rb:732:in `authenticate'
        from /home/<username>/.rvm/rubies/ruby-2.1.6/lib/ruby/2.1.0/net/smtp.rb:567:in `do_start'
        from /home/<username>/.rvm/rubies/ruby-2.1.6/lib/ruby/2.1.0/net/smtp.rb:520:in `start'
        from /home/<username>/.rvm/gems/ruby-2.1.6/gems/mail-2.6.3/lib/mail/network/delivery_methods/smtp.rb:112:in `deliver!'
        from /home/<username>/.rvm/gems/ruby-2.1.6/gems/mail-2.6.3/lib/mail/message.rb:2141:in `do_delivery'
        from /home/<username>/.rvm/gems/ruby-2.1.6/gems/mail-2.6.3/lib/mail/message.rb:238:in `deliver'
        from /home/<username>/.rvm/gems/ruby-2.1.6/gems/mail-2.6.3/lib/mail/mail.rb:140:in `deliver'
        from mail.rb:14:in `<main>'

/home/.rvm/rubies/ruby-2.1.6/lib/ruby/2.1.0/net/smtp.rb:969:in'check_auth_response':534-5.7.14您的gmail帐户启用了双因素身份验证吗?两步验证已经完成了,在代码运行多年后,我也遇到了同样的事情。。。尝试进入你的谷歌账户的安全设置并“验证”请求。一旦核实,该位置应被视为“安全”且允许进入。谷歌强制对“可疑”登录进行两步验证,即使被禁用。。。祝你好运@Myst,所以我查看了安全用户界面,没有找到任何关于验证的内容。你在看什么?哦,等等,不知怎的,我把它弄到了工作台。你的gmail帐户上启用了双因素身份验证吗?两步验证已经完成了。在多年的代码工作正常后,我也经历过同样的事情。。。尝试进入你的谷歌账户的安全设置并“验证”请求。一旦核实,该位置应被视为“安全”且允许进入。谷歌强制对“可疑”登录进行两步验证,即使被禁用。。。祝你好运@Myst,所以我查看了安全用户界面,没有找到任何关于验证的内容。你在看什么?哦,等等,我让它工作了