我错过了什么配置导致 MAILER-DAEMON 错误?
(我试图保持这篇文章简短,但它有点失控。)
我正在为我的 RAID1 何时出现故障设置一个电子邮件警报系统。
我在 Ubuntu 19.10上将 nullmailer安装为 MTA,并按照这些说明进行操作。
nullmailer
应使用位于smtp.external_email_server.com的外部邮件服务器向[email protected]发送警报电子邮件。
我在外部邮件提供商处的 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 Rewrite Wrapper可以做到这一点,但我希望有更直观的东西。
在这里或这里找到的/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”(不确定。)
而且,(有点不相关,但不确定)我也得到这个 *Failed to start Nullmailer** 在/var/log/syslog
条目中,当重新启动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 的“我”被忽略;请改用“/etc/mailname”。
所以我删除了文件/etc/nullmailer/me
,而是使用/etc/mailname
了以下值:
external_email_server.com
/etc/nullmailer/defaulthost 也设置为
external_email_server.com
/etc/nullmailer/adminaddr
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]
添加 setupfile
/etc/nullmailer/allmailfrom
工作。将您希望发送邮件的电子邮件地址放在那里。
/etc/nullmailer/allmailfrom