我目前使用 Exim 来满足以下需求,并且效果很好。但是升级时太麻烦了,因为这是一个需要修改我们不应该修改的文件的hack。
我尝试使用 OpenSMTPD,因为它对我的需要来说似乎很简单,但我被卡住了。任何其他软件都可以,只要它在 Debian 存储库中即可。
需求:
- MTA 仅在 127.0.0.1 上收听(简单)
- 它旨在收集来自本地机器(来自 cron 或其他)的每封邮件,并将它们发送给特定的外部收件人([email protected]),覆盖原始收件人
- 在网络故障的情况下,邮件稍后发送,例如esmtp是不可能的
- 创建/销毁用户时无需维护别名文件
- 奖励:如果外部收件人已经存在(或多个),则将邮件发送给它并发送到 [email protected](即用 [email protected] 替换任何本地收件人)
使用 OpenSMTPD,我测试了在别名文件中使用通配符,但这不起作用。
也许我需要修改 /etc/smtpd.conf 但我不知道怎么做。
经过一番挖掘后,我没有看到
genericstable
支持;smtpd.conf
尝试在中继上重写表导致aliases/virtual may not be used with a relay rule
错误。您可以说accept from local for local relay as "[email protected]"
,但这似乎不会重写邮件中的地址,只会重写 SMTP 会话中的发件人。参见Postfix Root email forwarding to external address as bcc only to do this from postfix。