通过msmtp 0x004e#012

时间:2018-06-20 08:50:45

标签: cron msmtp

通常,我将msmtp安装为本地邮件程序,安装比postfix / others容易得多,并且功能相当强大。 在/ 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-user发送电子邮件的cron

使用mailx发送可以正常工作:

echo "TEX" | mailx -s "TEST" redacted@example.com

有关调试此问题的任何提示吗?我找不到关于我得到的状态码的很多信息

1 个答案:

答案 0 :(得分:0)

回答自己,我找到了一种以冗长方式触发错误的方法,基本上,您必须使用sendmail发送邮件:

echo "From: root \
To: ec2-user \
Subject: Hello World \
\
This is the email body" | sudo sendmail -d -t ec2-user

关于错误消息,我到达了错误说明:

  

发送邮件:/ etc / aliases:第11行:无效的地址“ postmaster”

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

mailer-daemon: postmaster

由于postmaster对msmtp没有任何意义,因此会引发错误。注释掉此行(#)后,邮件正常发送了