通常我将msmtp安装为本地邮件程序,设置比postfix/其他人容易得多,而且功能非常强大。 在/etc/msmtprc 中包含此内容
defaults
tls_trust_file /etc/ssl/certs/ca-bundle.crt
account default
host smtp.gmail.com
port 587
tls on
auth on
user redacted@example.com
password password
from redacted@example.com
logfile /var/log/msmtp.log
aliases /etc/aliases
我遇到错误:
CROND[1587]:(ec2-用户(邮件(邮寄了 580 字节的输出,但状态为 0x004e#012(
对于所有应该为 ec2 用户发送电子邮件的 cron
使用 mailx 发送工作正常:
echo "TEX" | mailx -s "TEST" redacted@example.com
关于调试此问题的任何提示?我找不到有关我获得的状态代码的太多信息
回答我自己,我找到了一种详细触发错误的方法,基本上您必须使用 sendmail 发送邮件:
echo "From: root
To: ec2-user
Subject: Hello World
This is the email body" | sudo sendmail -d -t ec2-user
在错误消息上,我得到了错误解释:
发送邮件:/etc/别名:第 11 行:地址"邮局管理员"无效
因为在那里,在/etc/aliases 文件上创建的一些条目(可能它们已经在 ec2 映像中(具有这样的结构:
mailer-daemon: postmaster
由于邮局管理员对 msmtp 没有任何意义,因此它会抛出错误。注释掉此行 (#( 后,邮件正常发送