我正在尝试在 ssh root 登录时创建电子邮件警报,因此我必须安装邮件传输协议和邮件公用事业。
然后我配置ssmtp配置文件文件如下:
# 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 = [email protected]
# 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
[email protected]
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:[email protected]:mailhub.your.domain[:port]
root:[email protected]: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
但没用。请帮我解决这个问题
答案1
修复此问题可能需要多个步骤
采取前面提到的步骤。登录您的 Google 电子邮件帐户,然后转到此链接:https://www.google.com/settings/security/lesssecureapps并将“访问安全性较低的应用程序”设置为 ON。测试您的问题是否已解决。如果没有解决(对我来说没有解决),请继续执行步骤 #2。
去https://support.google.com/accounts/answer/6009563(标题:“密码错误”)。此页面显示“使用第三方应用登录 Google 时,您可能会看到“密码错误”错误(又名 534-5.7.14)的原因有多种。在某些情况下,即使您正确输入了密码。” 本页给出了 4 项值得尝试的建议。
对我来说,第一个建议有效:
- 去https://g.co/allowaccess从您之前用来访问 Google 帐户的其他设备并按照说明进行操作。
- 尝试从被阻止的应用程序再次登录。
步骤#2 中给出的页面上还有另外三个建议,但我没有尝试,因为在转到编辑后的链接并按照说明操作后,一切都开始正常运转。
答案2
这对我有用。
1)登录您的 Gmail 帐户。
2)前往https://www.google.com/settings/security/lesssecureapps并开启此功能。
3) 前往https://accounts.google.com/DisplayUnlockCaptcha并点击继续。
然后您可以从您的 Gmail 帐户验证您的附加电子邮件地址。
编辑:就我而言,写 smtp.gmail.com 而不是 smtp.gmail.com:587 会有所帮助。
答案3
要解决此问题,您需要:
1)使用网络浏览器登录您的 Gmail 帐户。
2)单击此链接以允许应用程序访问您的帐户:https://accounts.google.com/b/0/DisplayUnlockCaptcha
3)单击“继续”按钮完成该步骤。
4) 现在再次尝试从 PHP 脚本发送电子邮件。它应该可以正常工作。
答案4
发生这种情况的原因是谷歌最近实施了一项政策变化,用他们自己的话说,这是一系列加强电子邮件身份验证的变化之一,并终止谷歌产品任何破坏身份验证的做法。
建议的选项有很多,例如更改 smtp 服务器的端口、在“安全设置”选项卡中启用“允许安全性较低的应用程序”选项等。
一个可行的解决方案是启用 Gmail 的 AuthUser 两步验证,生成一个应用程序专用密码,并在设置“以...身份发送邮件”选项时使用此密码作为 Gmail 密码。创建应用程序专用密码并在 中使用它后/etc/ssmtp/ssmtp.conf
,AuthPass=
您可以在不撤销两步验证的情况下禁用两步验证。