如果可能的话,如何将所有带有附件的来信复制到[电子邮件保护]
如果我使用sender_bcc_map = type:table
- 所有邮件都将被复制,不包括附件。我不需要那个,我只需要带附件的电子邮件。
我的 postfix 版本是 2.10。
答案1
基本上,Postfix 可以通过解析邮件头来检测邮件是否带有附件。为此,Postfix 具有名为 header_checks 的功能及其变体。RFC 2183 第 2.2 节定义了附件应该使用Content-Dispostion: attachment;
标题。因此,我们可以使用mime_header_checks
来检测附件,然后告诉 postfix 复制(密件抄送)它。
# main.cf
mime_header_checks = pcre:/etc/postfix/attachment_check
# /etc/postfix/attachment_check
/^Content-Disposition: attachment;/ BCC [email protected]
更多信息:Postfix BUILTIN_FILTER_README和过滤邮件附件
如果可能的话,如何复制所有接收邮件附件为[电子邮件保护]
仅供参考,Postfix 没有收发邮件的概念。所有通过 Postfix 发送的电子邮件都被视为来自其他客户端和 Postfix中继它,到其他邮件服务器、LMTP 服务器、邮箱等。所以我担心这种方法会影响您的电子邮件,包括收发邮件(以下有一些例外)。
如果您的外发电子邮件来源是 sendmail(mail
命令)或通过提交(587)或通过 IP 地址 127.0.0.1 提交,您可以选择性地关闭 header_checks。在master.cf
# By default turn on header_checks
smtp inet n - n - - smtpd
# Disable header_checks on loopback IP address
127.0.0.1:smtp inet n - n - - smtpd
-o receive_override_options=no_header_body_checks
# Disable header_checks when email enter via sendmail/mail command
pickup fifo n - n 60 1 pickup
-o receive_override_options=no_header_body_checks
# Disable header_checks on submission port
submission inet n - n - - smtpd
-o receive_override_options=no_header_body_checks