如何解决“发送邮件:授权失败534 5.7.14”


54

我试图在ssh根登录名上创建电子邮件警报,所以我必须安装ssmtpmail实用程序。

然后我将ssmtp.conf文件配置如下:

# Config file for sSMTP sendmail
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
        #root=postmaster
        #Adding  email id to receive system information
root = rootuser@gmail.com
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
        #mailhub=mail

mailhub = smtp.gmail.com:587

AuthUser=dmymail@gmail.com
AuthPass=plaintext password
UseTLS=YES
UseSTARTTLS=YES

# Where will the mail seem to come from?
rewriteDomain=gmail.com

# The full hostname

hostname = mailserver
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

以及重新命名如下:

# Format:       local_account:outgoing_address:mailhub
# Example: root:your_login@your.domain:mailhub.your.domain[:port]

root:rootuser@gmail.com:smtp.gmail.com:25

我收到此错误:

send-mail: Authorization failed (534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 ni5sm3908366pbc.83 - gsmtp)
Can't send mail: sendmail process failed with error code 1

但这没用。请帮我解决这个问题



连续工作了几个月后,昨晚收到此错误。
2015年

完成所有建议的步骤后,它仍然失败,直到我使用正确的密码,我还是简单地更改了gmail.com密码...也许是Google的一项新的安全预防措施
Scott Stensland,2016年

@ceving有什么补救办法?你怎么修好它的?
3kstc '17

Answers:


80

解决此问题可能需要一个以上的步骤

  1. 采取前面提到的步骤。登录到您的Google电子邮件帐户,然后转到以下链接:https : //www.google.com/settings/security/lesssecureapps并将“访问较不安全的应用程序”设置为“开”。测试以查看您的问题是否已解决。如果仍然无法解决(对我来说不是),请继续执行步骤2。

  2. 转到https://support.google.com/accounts/answer/6009563(提示:“密码错误”)。该页面说:“使用第三方应用登录Google时,可能会出现“密码不正确”错误(aka 534-5.7.14)的几种原因。即使在某些情况下,即使输入正确的密码,也是如此。 该页面提供了4条建议供您尝试。

对我来说,第一个建议有效:

  • 转到https://g.co/allowaccess从您以前用来访问您的谷歌帐户,并按照指示不同的设备。
  • 尝试从已阻止的应用再次登录。

在步骤2中,页面上还有另外三个建议,但是我没有尝试,因为在转到编辑链接并按照说明进行操作之后,一切都开始按预期进行。


9
选项1.为我工作
帕特里克·福斯特忘记了

仅供参考,如果在安全设置中使用Google Apps for business,则可以为整个公司启用此功能。
Travis Reeder

2
+1,选项1和 g.co/allowaccess完美配合。
greg_data

我花了几分钟,但我发现如何启用下的管理控制台整个组织安全 > 基本设置 > 安全性较低的应用程序 > 强制访问......这对于增加混乱的缘故在标题显示“高级安全设置”(虽然我无法通过“高级安全设置”找到指向该页面的链接...)。困惑?我也是!
isapir


4

我也遇到了同样的问题,请务必查看您的gmail帐户安全设置,并从www.google.com/settings/security启用“访问不太安全的应用程序”。

然后它将神奇地开始工作。


这很有用,我通过允许访问www.google.com/settings/security的“访问不太安全的应用程序”对我的gmail帐户安全设置进行更改后,解决了相同的问题。相关的有用链接可以在这里

4

要解决此问题,您需要:

1)使用网络浏览器登录到您的Gmail帐户。

2)点击此链接以启用应用程序访问您的帐户:https : //accounts.google.com/b/0/DisplayUnlockCaptcha

3)单击继续按钮以完成该步骤。

4)现在,再试一次从您的PHP脚本发送电子邮件。它应该工作。


这可能并不是Linux核心安装的真正答案。而且我不完全确定守护程序重启后这种情况是否还会持续。您最好遵循不安全的应用说明
Reace

它为我工作。Linux核心安装。我从另一台计算机登录。
Michal Sokolowski

2

之所以会发生这种情况,是因为Google最近实施了一项政策更改,换句话说,这是一系列更改中的一项,目的是加强电子邮件身份验证,并终止Google产品破坏身份验证的任何做法。

建议使用许多选项,例如更改smtp服务器的端口,在“安全性设置”选项卡中启用“允许安全性较低的应用程序”选项等。

一种有效的解决方案是为AuthUser启用Gmail的两步身份验证,生成应用专用密码,并在设置“将邮件发送为”选项时使用此密码作为Gmail密码。创建仅应用程序的密码并在/etc/ssmtp/ssmtp.conf处使用时AuthPass=,您可以禁用两步验证,而无需取消两步验证。


1

我通过创建一个新的GMail帐户(仅用于邮件发送)修复了该问题,并激活了两阶段身份验证并生成了应用密码。

它就像一个魅力!


0

您是否按照提供的链接阅读了说明?这是解决方法。

我敢打赌,您输入了错误的用户名或密码。

如果它们确实正确,请确认您使用相同的端口。在上方指定587,在下方指定25。

然后可能无法指定UseTLSUseSTARTTLS。在端口587上使用UseTLS,在端口25上使用UseSTARTTLS。

最后,您的主机名是likeley而不是“ mailserver”。使用FQDN。


@mmailq,根据您的解决方案,我在两个conf文件上都将端口号更改为587,并且我确定用户名和密码正确。
连接

@@ mmailq,FQDN应该是什么?我的服务器主机名是mailserver。
连接

@@ mmailq,不,它无法正常工作,即将出现相同的错误。
连接
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.