Gmail阻止杂项


48

当我尝试使用mutt登录gmail时,它会闪烁一个带有URL的快速Webalert,该信息类似于accounts.gmail.com之类。我看不到或复制它太快了。然后说登录失败。

然后我从Gmail收到一封电子邮件,内容为:

Google Account: sign-in attempt blocked

Hi Adam, 

We recently blocked a sign-in attempt to your Google Account [a...@gmail.com]. 

Sign in attempt details
Date & Time: Wednesday, December 10, 2014 11:55:21 PM UTC 
Location: Utah, USA 

If this wasn't you
Please review your Account Activity page at         https://security.google.com/settings/security/activity to see if anything looks suspicious.     Whoever tried to sign in to your account knows your password; we recommend that you change it right away. 

If this was you
You can switch to an app made by Google such as Gmail to access your account (recommended) or change your settings at https://www.google.com/settings/security/lesssecureapps so that your account is no longer protected by modern security standards. 

To learn more, see https://support.google.com/accounts/answer/6010255. 

Sincerely,
The Google Accounts team

我可以转到该链接并启用“访问较不安全的应用程序”,然后可以正常登录,但是是否可以使用mutt登录而不必在Gmail中打开此不安全的选项?

更新:

我在Mac OS X Yosemite上运行mutt -v时,在编译选项中确实包含+ USE_SSL_OPENSSL我没有使用google两步验证我没有使用应用程序专用密码这是我收到的消息当我尝试登录时得到:

Reading imaps://imap.gmail.com:993/INBOX...
Looking up imap.gmail.com...
Connecting to imap.gmail.com...
TLSv1.2 connection using TLSv1/SSLv3 (ECDHE-RSA-AES128-GCM-SHA256)
Logging in...
[WEBALERT https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbsm0P......

我找到了这个答案,但是没有用:https : //stackoverflow.com/a/25209735/1665818


您是否在gmail中启用了2要素身份验证?如果这样,mutt将无法以这种方式登录。您必须为mutt生成一个应用程序密钥,以用于登录。
jw013 2014年

我没有启用2要素身份验证。
aharris88

1
你好,我遇到同样的问题。如果有人可以将mutt与gmail结合使用并保留gmail帐户的标准安全设置,那将是很好的选择。
linluk 2014年

您是否在使用应用专用密码?我还没有遇到这个问题。
Caleb 2014年

不,我没有使用应用专用密码。
aharris88 2014年

Answers:


29

我终于通过启用Google两步验证并为Mutt使用了特定于应用的密码来使其工作。

更多详情:

我在Google帐户上启用了两步验证,这意味着登录Google时,我必须输入文本或Google Authenticator应用中的个人识别码。

然后,我必须为Mutt获取一个特定于应用程序的密码。您可以在此处生成应用专用密码。

然后,我使用该应用专用密码登录mutt,而不是使用普通密码。然后,我不必输入密码。


您能详细说明一下吗?
tetris11

1
好的,我添加了更多细节。希望能有所帮助。
aharris88

2
仍在全球范围内工作并节省时间。感谢@ aharris88
Bernardo Sulzbach

26

就像其中一条评论说的那样,默认情况下Google似乎已移动到阻止使用IMAP / SMTP PLAIN身份验证的应用程序,并且您可以阅读官方博客,指出Google强烈建议IMAP / SMTP协议用户切换到OAuth 2.0(因为XMPP也是我不知道OSX iChat是否会在某些时候停止与GTalk一起使用)。在其他地方,对此变化的理由有一些有趣的猜测。在撰写本文时,轶事调查表明:

  • Google企业帐户不会出现此问题-它们会继续自动接受基于密码的IMAP / SMTP登录,并且目前没有设置拒绝它们(不会给所有使用“旧版”密码登录程序的付费用户带来麻烦?)。
  • 非“企业” Google帐户现在具有允许或禁止基于密码的IMAP / SMTP登录(“安全性较低的应用”)的设置。已经存在多年的Google帐户可以自动选择禁止,但这并不是每个人都可能发生。

我尝试过先使用网络浏览器登录GMail,然后使用同一台计算机上的Mutt。我尝试更改muttrc设置以确保始终使用TLS。我尝试过解锁验证码链接。所有人都无法让我的mutt使用“不允许使用安全性较低的应用程序” GMail帐户工作(但可以解决不同情况下的登录问题)。您的选择是:

(谁投票赞成我的原始答复-谢谢)


1
应用专用密码如何组合?如果您使用应用专用密码,是否可以关闭“允许安全性较低的应用连接”,并在没有警告的情况下仍使用PLAIN /基本身份验证?
jla 2015年

2
在@hampercm的设置中使用应用专用密码可以避免此问题。- security.google.com/settings/security/apppasswords
Yoshua Wuyts

6

从aharris88的描述来看,Gmail禁止通过mutt访问其帐户,因为mutt在与Gmail的服务器通信时使用了不安全的连接。这意味着您的用户名和密码以未加密的形式通过局域网和Internet发送;通常这是一个非常糟糕的主意,应尽可能避免。Gmail试图通过拒绝mutt的连接尝试来阻止这种危险的配置。更改您的Google帐户设置以允许“访问不太安全的应用”会覆盖此行为,从而使mutt以不安全的方式进行连接。

一种解决方案是将mutt配置为在连接到Gmail时使用TLS安全性。这样,您的凭据就不会以纯文本格式发送,因此您可以在Google帐户设置中禁用“访问安全程度较低的应用程序”。

要使用TLS,请编辑您的Mutt配置文件(〜/ .muttrc),使其类似于以下内容:

set realname = 'Your Full Name'
set imap_user = 'youraccount@gmail.com'
set smtp_url = "smtp://youraccount@smtp.gmail.com:587/"
set spoolfile = imaps://imap.gmail.com:993/INBOX
set folder = "imaps://imap.gmail.com:993"
set record="+[Gmail]/Sent Mail"
set postponed="+[Gmail]/Drafts"
set header_cache="~/.mutt/cache/headers"
set message_cachedir="~/.mutt/cache/bodies"
set certificate_file=~/.mutt/certificates

# These two lines appear to be needed on some Linux distros, like Arch Linux
set ssl_starttls = yes
set ssl_force_tls = yes

同样,通过执行以下命令,创建mutt将用于缓存消息信息和存储证书的目录和文件:

mkdir -p ~/.mutt/cache/bodies
mkdir ~/.mutt/cache/headers
touch ~/.mutt/certificates

mutt配置文件的3-5行告诉mutt使用安全端口和协议连接到Gmail。确保在第1行中填写“您的全名”,并在第2行和第3行中都替换“ youraccount”。最后两行将强制mutt安全连接,并且在某些Linux发行版中可能是必需的。其余的配置是一个非常普通的设置,可以使Mutt与Gmail完美搭配。

您还需要在系统上安装OpenSSL(或等效的工具),尽管大多数系统可能已经安装了OpenSSL。

现在,启动mutt。系统会提示您输入Gmail帐户密码。可能还会提示您接受Gmail服务器将向您发送的证书;继续这样做。如果您看到自己的收件箱,则应该一切准备就绪!

如果仍然无法连接,则可能是其他原因导致mutt无法安全连接。尝试执行:mutt -v显示mutt的版本和编译选项。在输出的“编译选项”部分中,查找+USE_SSL或类似+USE_SSL_OPENSSL或的类似内容+USE_SSL_GNUTLS。如果这些都没有出现,并且旁边没有加号,则表示mutt已编译而无法与TLS连接,因此您需要重新编译它。

另一种可能性是您的系统上尚未安装OpenSSL(或等效的SSL软件包)。安装方法取决于您使用的Linux / Unix发行版。尝试搜索特定于您的发行版的指南。您可能还需要安装包含证书颁发机构的其他软件包。

一旦一切正常,如果您不想每次运行mutt时都输入Gmail密码,则可以通过添加如下行将其直接存储在〜/ .muttrc文件中:

set imap_pass = 'yourpassword'

但是请注意,这会带来安全风险,尤其是在您与其他用户共享系统时。为了降低这种风险,可以通过执行以下操作使〜/ .muttrc仅由您可读:

chmod 600 ~/.muttrc

这样可以防止系统上运行的非root用户和服务读取存储在〜/ .muttrc文件中的密码。


2
这不能解决问题,它具有相同的配置。您必须允许Gmail设置中的不安全应用以这种方式使用Mutt。但是我们想(如果可能)将其与标准安全设置一起使用。不管怎么说,还是要谢谢你。
linluk 2014年

确保将smtp_urlspoolfilefolder设置完全与上面指定的相同,除了用您的帐户名替换“ youraccount”外。这些是关键线。并且,请确保未将这些文件设置为文件中更远的地方。我还增加了答案,以解决其他几种可能性。使用我在上面给出的配置文件底部添加的两行可能会有所帮助。否则,您可能需要安装SSL实现或重新编译Mutt。
hampercm

1
仍然没有用。这几乎与我在.muttrc中已经拥有的东西完全一样。但是我还有多余的东西。我删除了其他内容,以防万一。我没有添加ssl部分,因为我在Mac上。另外,我收到的消息看起来已经在使用ssl。
aharris88

嗯 我对MacOS的亲身经验很少,因此,不幸的是,我可能对您的问题没有太大帮助。您是否如上所述使用mkdirtouch命令创建了〜/ .mutt /子目录和文件?这些似乎在某些-nixes上是必需的。除此之外,除了对Mac OS上的Mutt和Gmail进行一些特定的网络搜索外,我没有更多建议。一些搜索热点谈论使用“ MacPorts”安装mutt变体。
hampercm 2014年

2
我遇到了一些可能解释问题的信息。表明从外部应用程序进行所有访问都需要OAuth 2.0 ,即使通过安全连接也是如此。我检查了我的Google设置后,发现过去出于其他一些原因启用了安全性较低的应用程序,却忘了它,这就是为什么我的杂种动物访问只能靠手掌运转的原因 :(看来您可以使用SASL XOAUTH2来解决这个问题需要“不太安全”的选项,但可能不值得花一点时间来提高安全性吗?
hampercm 2014年



0

好。因此,经过长时间的调试,我发现了这篇文章提供了真正的解决方案。

如果您遇到上述问题,并且未使用2要素身份验证,则需要登录到网络版Gmail,然后转到:

https://accounts.google.com/b/0/DisplayUnlockCaptcha

现在,尝试Mutt-它应该立即登录。


在我的问题中,我已经链接到该答案,该答案说的是相同的内容,但不起作用。stackoverflow.com/questions/25209676/...
aharris88

确实,这对我也没有帮助。
reinierpost 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.