我安装nullmailer
在 Debian 10 VPS 上。
root@:~# cat /etc/nullmailer/remotes
hotmail-com.olc.protection.outlook.com
echo "Subject: test" | sendmail -v [email protected]
有效,我收到了电子邮件。echo "Subject: test" | sendmail -v [email protected]
不起作用,说:smtp:失败:550 5.5.0 未采取请求的操作:邮箱不可用。[DM6NAM12FT063.eop-nam12.prod.protection.outlook.com]
据我了解,为了example.com
工作,我必须解析它的 MX 记录并将值放入/etc/nullmailer/remotes
。
Sendmail 似乎可以自动处理该问题。
nullmailer
也可以这样吗?- 如果没有,那么轻量但功能强大的替代方案是什么(
msmtp
,swaks
)? - 或者我应该
dig
先执行一个包装脚本,保存到/etc/nullmailer/remotes
,然后再调用nullmailer
?
请指教!
答案1
nullmailer 也能做到这一点吗?
不是。它是“仅中继” MTA,即它始终依赖另一个功能齐全的 SMTP 中继服务器(“智能主机”)来处理实际传送。(因此得名“null”。)
真的,这有点重点使用 nullmailer 或 msmtp 或类似工具。
如果没有,那么有什么轻量但功能强大的替代方案?
如果您将“轻量级”定义为“没有永久的守护进程运行”,那么 Exim 可以完成这项工作 - 它会默认尝试在前台传递邮件(即在同一sendmail
进程中),如果失败,您可以使用 cronjob 来处理排队的邮件。
否则,我会选择 OpenSMTPd,其次是 Postfix。虽然它们以守护进程的形式运行,但它们实际上并不消耗太多资源,而且仅用于发送邮件的配置文件可能很小。
或者我应该先有一个包装脚本进行挖掘,保存到 /etc/nullmailer/remotes,然后再调用 nullmailer?
仅当您的脚本实现锁定(单实例)时。如果您允许它同时进行多次交付,则编辑全局配置可能会出错。