平台:Arch Linux Cron:cronie 邮件:msmtp
我发现将 cron 输出发送到 Office 365 托管的邮箱会产生以下错误,即使通过 CLI 发送邮件工作正常:
Apr 01 04:41:10 prod crond[306]: msmtp: the server did not accept the mail
Apr 01 04:41:10 prod crond[306]: msmtp: server message: 550 5.7.1 Client does not have permissions to send as this sender
Apr 01 04:41:10 prod crond[306]: msmtp: could not send mail (account default from /etc/msmtprc)
Apr 01 04:41:10 prod crond[306]: msmtp: cannot log to /var/log/msmtp.log: cannot open: Permission denied
Apr 01 04:41:10 prod crond[306]: msmtp: log info was: host=smtp.office365.com tls=on auth=on [email protected] [email protected] [email protected] smtpstatus=550 smtpmsg='550 5.7.1 Client does not have permissions to send as this sender' errormsg='the server did not accept the mail' exitcode=EX_UNAVAILABLE
Apr 01 04:41:10 prod CROND[3212]: (postgres) MAIL (mailed 29 bytes of output but got status 0x0045 )
Apr 01 04:41:10 prod CROND[3212]: pam_unix(crond:session): session closed for user postgres
答案1
解决方案是,除了 MAILTO 之外,我还需要将以下内容添加到我的 crontab 中:
[email protected]