![OpenSMTPD:每个本地邮件发送到特定目的地](https://linux22.com/image/124919/OpenSMTPD%EF%BC%9A%E6%AF%8F%E4%B8%AA%E6%9C%AC%E5%9C%B0%E9%82%AE%E4%BB%B6%E5%8F%91%E9%80%81%E5%88%B0%E7%89%B9%E5%AE%9A%E7%9B%AE%E7%9A%84%E5%9C%B0.png)
我目前使用 Exim 来满足以下需求,效果很好。但升级时太麻烦了,因为这是一种黑客行为,需要修改我们不应该修改的文件。
我尝试使用 OpenSMTPD,因为它似乎很适合我的需要,但我陷入困境。任何其他软件都可以,只要它位于 Debian 存储库中即可。
需求:
- MTA 仅监听 127.0.0.1(简单)
- 它的目的是收集每一个来自本地计算机(来自 cron 或其他)的邮件,并将它们发送到特定的外部的接受者 ([电子邮件受保护]) 覆盖原始收件人
- 如果出现网络故障,邮件会稍后发送,这是不可能的esmtp例如
- 创建/销毁用户时无需维护别名文件
- 奖励:如果外部收件人已存在(或多个),则将邮件发送给该收件人并发送至[电子邮件受保护](即将任何本地收件人替换为[电子邮件受保护])
使用 OpenSMTPD,我测试了在别名文件中使用通配符,但这不起作用。
也许我需要修改/etc/smtpd.conf,但我不知道如何修改。
答案1
经过一番挖掘后,我没有看到genericstable
支持;smtpd.conf
尝试在中继上重写表导致aliases/virtual may not be used with a relay rule
错误。您可以说,但这似乎不会重写邮件中的地址,而只会重写 SMTP 会话中的发件人。accept from local for local relay as "[email protected]"
或许看看Postfix 根电子邮件仅作为密件抄送转发到外部地址从 postfix 执行此操作。