通过msmtp 0x004e#012输出cron电子邮件时出错

通过msmtp 0x004e#012输出cron电子邮件时出错,cron,msmtp,Cron,Msmtp,通常我将msmtp安装为本地邮件程序,安装比postfix/其他程序容易得多,而且功能相当强大。 将此内容保存在/etc/msmtpc中 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.co

通常我将msmtp安装为本地邮件程序,安装比postfix/其他程序容易得多,而且功能相当强大。 将此内容保存在/etc/msmtpc中

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
在错误消息中,我得到了错误解释:

sendmail:/etc/别名:第11行:无效地址“postmaster”

因为在/etc/alias文件中创建的某些条目(可能在ec2映像中已经存在)的结构如下:

mailer-daemon: postmaster
因为postmaster对msmtp没有任何意义,所以它抛出了错误。注释掉这几行(#)后,邮件正常发送