我错过了什么配置,导致出现 MAILER-DAEMON 错误?
(我本来想让这篇文章简短一些,但有点太过了。)
我正在设置一个电子邮件警报系统,用于在 RAID1 出现故障时发出警报。
我安装了空邮件程序作为 Ubuntu 19.10 上的 MTA,以及按照这些说明进行操作。
nullmailer
应发送警报电子邮件至[电子邮件保护]使用外部邮件服务器smtp.external_email_server.com。
我在外部邮件提供商的 smpt 帐户是me@my_domain_hosted_by_provider.com
看起来nullmailer
可以将电子邮件转发到外部电子邮件提供商,但从那里传递发件人被拒绝错误:
诊断代码:SMTP;550 5.1.0 root@external_email_server.com 发件人被拒绝(497)
nullmailer
我注意到,如果我从以下位置编辑队列中生成的文件,则发送和接收电子邮件没有问题:
me@localhost
[email protected]
...
到
me@my_domain_hosted_by_provider.com
[email protected]
...
看起来可能是这样nullmailer 重写包装器可以做到这一点,但我希望得到更直观的东西。
这个问题的答案/etc/nullmailer/allmailfrom
是这里或者这里是一种解决此问题的方法,但是如果有多个 SMTP 提供商怎么办?
为了测试nullmailer
电子邮件传递,我使用
echo "error" | NULLMAILER_NAME="Testsytem check" mail
-s "This is just a test with nullmailer" "[email protected]"
上述测试从“消息传递子系统”MAILER-DAEMON@external_email_server.com 生成此拒绝警报电子邮件:
The message attached below could not be delivered to one or
more of the intended recipients:
<[email protected]>
Reporting-MTA: x-local-hostname; external_email_server.com
Arrival-Date: Wed, 11 Mar 2020 10:49:26 -0700
Final-Recipient: rfc822; [email protected]
Action: failed
Status: 5.1.0
Last-Attempt-Date: Wed, 11 Mar 2020 10:49:26 -0700
Remote-MTA: dns; smtp.external_email_server.com
Diagnostic-Code: SMTP; 550 5.1.0 <root@external_email_server.com> sender rejected (497)
我认为发件人“root@external_email_server.com”可能应该改为“me@my_domain_hosted_by_provider.com”(不确定)。
并且,(有点不相关,但不确定)/var/log/syslog
当我重新启动时,我也在条目nullmailer
中得到了这个 *无法启动 Nullmailer** sudo service nullmailer restart
:
Mar 11 10:49:29 localhost systemd[1]: Stopped Nullmailer relay-only MTA.
Mar 11 10:49:29 localhost systemd[1]: nullmailer.service: Start request repeated too quickly.
Mar 11 10:49:29 localhost systemd[1]: nullmailer.service: Failed with result 'start-limit-hit'.
Mar 11 10:49:29 localhost systemd[1]: Failed to start Nullmailer relay-only MTA.
在测试 mdadm 邮件提醒时,我使用了它,它以某种方式奇怪地将总共 3 封电子邮件放入队列中。而且,奇怪的是,队列似乎只有在nullmailer
重新启动时才会被处理:
sudo mdadm --monitor --scan --test -1
设置
空邮件程序
一开始我用的/etc/nullmailer/me
是
external_email_server.com
但这在错误日志中给了我一个警告/var/log/mail.log
警告:在 Debian 系统上,nullmailer 的“me”被忽略;请改用“/etc/mailname”。
因此我删除了该文件/etc/nullmailer/me
并改用/etc/mailname
该值:
external_email_server.com
/etc/nullmailer/defaulthost 也设置为
external_email_server.com
/etc/nullmailer/管理员地址
me@my_domain_hosted_by_provider.com
mdadm 配置
我跟着这些说明。
/etc/mdadm/mdadm.conf
...
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
# is defined in /etc/aliases so no need to use MAILADDR
MAILADDR [email protected]
MAILFROM me@my_domain_hosted_by_provider.com
...
/etc/别名
root: [email protected]
postmaster: [email protected]
default: [email protected]
答案1
添加安装文件后就/etc/nullmailer/allmailfrom
成功了。
输入您希望发送邮件的电子邮件地址从在那里。
/etc/nullmailer/allmailfrom
me@my_domain_hosted_by_provider.com