因此有一段时间我一直依赖PLAIN支持在我的电子邮件客户端登录Google的IMAP服务器。最近他们开始阻止并返回错误(尽管将其列为支持的身份验证方法)。
例如,举个例子:
Connected to 'imap.gmail.com:993' using SSL
A0001 CAPABILITY
* OK Gimap ready for requests from ##.##.##.## cd6mb38777249ieb
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN AUTH=XOAUTH
A0001 OK Thats all she wrote! cd6mb38777249ieb
A0002 AUTHENTICATE PLAIN
+
####################################
* NO [WEBALERT https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbszktZSU6iVmh...snip....] Web login required.
A0002 NO [ALERT] Please log in via your web browser: http://support.google.com/mail/accounts/bin/answer.py?answer=78754 (Failure)
SSL connection closed.
ScribeImap_Thread.cpp:647 - Connect to imap.gmail.com:993 failed.
我尝试在浏览器中打开“https://accounts.google.com/ContinueSignIn ...”网址:
我被重定向到https://myaccount.google.com/,但下一次登录尝试也失败了。所以它似乎根本没有改变身份验证。
PLAIN身份验证是完全被阻止还是我做错了?
或者是否有一种有效的身份验证方法,并且不需要浏览器组件来登录? (XOAUTH2似乎也需要Web登录)
答案 0 :(得分:1)
这是相当正式的:
http://googledevelopers.blogspot.com.au/2015/04/a-final-farewell-to-clientlogin-oauth.html
他们完全关闭了PLAIN登录,但它没有回来。
所以有两种选择:
我决定实施OAUTH2支持(实际上并没有太远的工作)。最初我认为我的应用程序中需要一个嵌入式浏览器组件,但事实证明我可以启动系统浏览器,用户可以在一些手动过程中复制令牌。
有趣的是,对于那些在其软件中支持OAUTH2的人来说,Google已经设置了一个操场,以便在实践中查看整个过程:
https://developers.google.com/oauthplayground/
答案 1 :(得分:0)
我发现这是一个老帖子,但是在与Outlook争夺一年多时间以获取我的邮件之后,我终于让它再次运作了。
我要做的第一件事就是登录我的Gmail帐户并关闭标记为“安全性较低的应用”的按钮,因为Outlook属于该类别。 转到“我的帐户”中的“安全性较低的应用”部分。 在“访问不太安全的应用程序”旁边,选择“打开”。 (Google Apps用户请注意:如果您的管理员已锁定不太安全的应用帐户访问权限,则会隐藏此设置。) 如果你有两步验证(就像我一样),它仍然会使Outlook失败。因此,接下来要做的就是创建一个应用程序密码,为您生成一个密码,然后在Outlook中使用它来正确同步。
访问您的应用密码页面。系统可能会要求您登录Google帐户。 在底部,点击选择应用,然后选择您正在使用的应用。 单击选择设备,然后选择您正在使用的设备。 由于Outlook未列出,请选择“其他”并键入Outlook以供将来参考。 选择生成。 按照说明在设备上输入应用程序密码(黄色栏中的16个字符代码)。 选择完成。 复制生成的密码。 打开Outlook并将密码粘贴到密码部分。请勿使用常规密码。 您的邮件将同步而不再出现问题。 (希望) 完成后,您将不会再看到该应用程序密码。但是,您将看到您为其创建应用密码的应用和设备列表。
我希望这可以帮助每个遇到问题的人。我希望这些指示很容易理解!祝大家好运! : - )