1

我正在配置 msmtprc smtp 以发送出站电子邮件并且在使用 office365 时遇到问题。使用 Gmail 帐户可以正常工作,但使用 office 365 时出现以下错误。

msmtp: authentication failed (method LOGIN) msmtp: server message: 535 5.7.3 Authentication unsuccessful [BN6PR13CA0016.namprd13.prod.outlook.com] msmtp: could not send mail (account default from /etc/msmtprc)

/var/log/msmtp.log

Authentication unsuccessful [BN6PR13CA0016.namprd13.prod.outlook.com]' errormsg='authentication failed (method LOGIN)' exitcode=EX_NOPERM

/etc/msmtprc

defaults auth on logfile /var/log/msmtp.log account office host smtp.office365.com port 587 protocol smtp from support@example.net user support@example.net password ******* tls on tls_starttls on tls_trust_file /etc/pki/tls/certs/ca-bundle.crt

有没有人成功将 Msmtprc 与 office365 一起使用?

谢谢你。

4

1 回答 1

0

我已经成功使用 msmtp 很长一段时间了,使用以下设置(在 CentOS 7 机器上),但$HOME/.msmtprc由于它仅适用于我的用户而不是全局的,所以使用了配置:

account          default
host             smtp.office365.com
port             587
tls              on
tls_starttls     on
tls_trust_file   /etc/ssl/certs/ca-bundle.crt
tls_certcheck    on
auth             on
user             username@example.com
passwordeval     pass office365.com
from             username@example.com
logfile          ~/.msmtp.d/msmtp.log

..所以这与您的 99% 相同,只是我使用的文件中没有密码,passwordeval而是通过给定命令的输出提供密码。

也许password密码本身和密码之间的多个空格导致空格被添加到密码的开头?

您还可以尝试运行msmtp以使其具有控制终端(即从 shell 运行,而不是通过服务管理器运行systemctl)以测试以这种方式提供密码是否按预期工作?

于 2019-04-16T14:36:20.367 回答