我正在 Postfix 上运行一个传入电子邮件过滤器,基本上通过 SpamAssassin 发送电子邮件,然后使用dovecot-lda
.
这是通过编辑 Postfix 来实现的,master.cf
如下所示:
smtp inet n - - - - smtpd -o
content_filter=spamassassin
spamassassin unix - n n - - pipe
flags=DROhu user=vmail:vmail argv=/usr/bin/spamc -f -e
/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}
考虑到这一点,有没有一种方法可以为外发电子邮件设置类似的过滤器,用于dovecot-lda
将所有已发送电子邮件的副本放置在Sent
文件夹中?
我知道将电子邮件放在Sent
文件夹上通常适用于电子邮件客户端,但这会导致带宽使用重复,因为电子邮件客户端必须通过 SMTP 发送电子邮件,然后再次通过 IMAP 发送到文件Sent
夹...而且我还有其他具体原因就像 PHP 脚本发送电子邮件来想要这个一样。
想法是:
- 电子邮件客户端通过 SMTP 发送电子邮件
- 传出电子邮件过滤器“捕获”电子邮件并用于
dovecot-lda
将副本发送到Sent
文件夹(就像我在接收时所做的那样); - Postfix 会做接下来他需要做的任何事情(将电子邮件发送到删除服务器?)。
笔记:这应该与端口 587 上的邮件提交兼容,这意味着它应该首先添加所有标头并确保电子邮件正常,然后进行过滤并发送到Sent
文件夹...等。
谢谢。