无法连接到使用2FA保护的Gmail SMTP

时间:2018-05-18 21:03:32

标签: gmail imap two-factor-authentication

出于某种原因,我无法使用Google SMTP协议从我的应用程序发送电子邮件。我收到一条看起来像这样的消息:

1. Unhandled javax.mail.AuthenticationFailedException
   534-5.7.14
   <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbt0
   534-5.7.14
   joZVenRyJq1oMRdChfymgOOgcAmikBwqT-_rFkNsHtvsquevNauUwW34Ksg5n8kXxPTALF
   534-5.7.14
   SYbdpH4O4GEE2TXaQmHScXAY15r_00D-lmyVzoJs54ba6RrOYb-yVcFNpsZbxxonQckTgd
   534-5.7.14
   dxdnp69p7t3_xj5523el2LWvh_HPE2lKTgOr8yLkeXjrFKYhvJT1jRhb5-Sy3Rs3G7OjuS
   534-5.7.14 GdcriEyrrStn9Re4Vq7U46c5f8SwM> Please log in via your
   web browser and 534-5.7.14 then try again.  534-5.7.14 Learn more
   at 534 5.7.14 https://support.google.com/mail/answer/78754
   c12-v6sm1390727lji.59 - gsmtp

一些事实:

  • 网络界面(gmail.com)运行正常;
  • 我已启用2FA;
  • 我使用新的应用程序密码;
  • 在Gmail设置中启用了IMAP,我检查了它;
  • 另一个包含2FA和应用程序密码的帐户在我的应用程序中正常运行。
  • 这两个帐户都位于不同的Google自定义域中。可能会以某种方式影响他们吗?

代码(我使用Clojure):

(def cred {:host "imap.gmail.com" 
           :user "user@my_domain.net" 
           :pass "application_password" 
           :ssl true})
(send-message cred {:from "test@test.com" 
                    :to "bar@test.me" 
                    :subject "hello" 
                    :body "test"})

UPD:我也尝试按照回复中的链接。它会提示我输入2FA,然后将我重定向到我的帐户设置。发送电子邮件仍然无效。

2 个答案:

答案 0 :(得分:1)

尝试8小时后,我在Google Apps中找到了一个选项。转到安全 - &gt;高级 - &gt;选中&#34;允许用户管理其安全设置&#34; (它被禁用了)。现在它有效,哦,天啊。

答案 1 :(得分:0)

不确定Ivan提供的答案是指哪些选项。它们可能不会出现在我的非gapps帐户中,可能是由于UI更新所致。

我有一个类似的问题,那就是配置了使用Gmail SMTP发送警报电子邮件的nas笼。在Gmail帐户上启用2FA后,电子邮件将失败。

解决方案是在google帐户安全标签下创建一个“应用密码”。从本质上讲,这些是针对不支持2FA的程序/设备在每个应用程序上创建的密码。创建密码后,您可以使用它代替该特定应用程序的原始Gmail密码。这是指向Google Security App Password Page

的直接链接