通常,我将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
有关调试此问题的任何提示吗?我找不到关于我得到的状态码的很多信息
答案 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没有任何意义,因此会引发错误。注释掉此行(#)后,邮件正常发送了