1

我想从 linux 命令发送电子邮件。我在ubuntu ssmtp中安装,然后在/etc/ssmtp/ssmtp.conf中配置:

root=mymail@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
FromLineOverride=YES
AuthUser=mymail@gmail.com
AuthPass=xxxxxxxxx
UseTLS=YES
UseSTARTTLS=YES

然后我尝试这样发送电子邮件:

ssmtp receiver_mail@gmail.com < msg.txt

但我得到了这个错误:

ssmtp: Authorization failed (535 5.7.8  https://support.google.com/mail/?p=BadCredentials t187sm393455wmt.25 - gsmtp)

然后我尝试使用 sendmail 命令:

 echo -n 'Subject: test\n\nTesting ssmtp' | sendmail -v receiver_mail@gmail.com

但我得到了同样的错误:

[<-] 220 smtp.gmail.com ESMTP a22sm418259wmd.20 - gsmtp
[->] EHLO omar-X550LC
[<-] 250 SMTPUTF8
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
[->] EHLO omar-X550LC
[<-] 250 SMTPUTF8
[->] AUTH LOGIN
[<-] 334 VXNlcm5hbWU6
[->] b21hci5rYWxsZWwzQGdtYWlsLmNvbQ==
[<-] 334 UGFzc3dvcmQ6
[<-] 535 5.7.8  https://support.google.com/mail/?p=BadCredentials a22sm418259wmd.20 - gsmtp
sendmail: Authorization failed (535 5.7.8  https://support.google.com/mail/?p=BadCredentials a22sm418259wmd.20 - gsmtp)

似乎 ssmtp 配置中有问题或缺失。有什么建议可以解决这个问题吗?

4

1 回答 1

0

您是否尝试阅读错误消息中包含的支持链接?除了您提供错误密码的可能性之外,它还提供了一些其他可能性:

  • 使用应用密码:如果您使用两步验证,请尝试使用应用密码登录。
  • 允许安全性较低的应用:如果您不使用两步验证,您可能需要允许安全性较低的应用访问您的帐户。
  • 确保您的邮件应用程序未设置为过于频繁地检查新电子邮件。如果您的邮件应用每 10 分钟检查一次以上的新邮件,则可能会阻止该应用访问您的帐户。
于 2020-02-28T04:50:24.610 回答