我想实现以下场景:
我们使用 postfix 邮件服务器。为了存档所有新旧邮件,我想在我们的文件服务器上设置第二个 postfix 并创建一个邮箱“存档”。然后每封邮件都会自动作为密件抄送转发到此邮箱。现在,我想在 maildir 结构中创建不同的文件夹,并让服务器根据发件人或收件人将每封邮件移动到邮箱的正确子文件夹中。
例如,当我们收到一封发给名为“John Doe”的员工的邮件时,[电子邮件保护],邮件应移至“收件箱/John Doe 传入”。当 john doe 发送邮件时,文件夹将为“收件箱/John Doe 传出”。
我该如何实现这种过滤行为。我听说过 Procmail 和 Maildrop。您更喜欢哪一个?哪个更容易配置?这里有任何现成的解决方案吗?
提前致谢!
答案1
为什么不使用sender_bcc_maps
并将recipient_bcc_maps
邮件复制到专用存档域 - 比如,archive.foo.bar - 通过传输(5)传送到将存档邮件存储在专用邮箱中的 MDA?
无需第二次实例,并提供全面干净的解决方案。
您可以使用正则表达式或 PCRE 映射类型将所有发件人或收件人映射到存档域中的邮箱,例如:
在 /etc/postfix/sender-archive-pcre 中:
/^(.*)@foo\.bar$/ [email protected]
在 /etc/postfix/收件人档案-pcre:
/^(.*)@foo\.bar$/ [email protected]
在运输方面(5):
@archive.foo.bar unix:your-archive-mda
至于使用哪个传送代理:我强烈建议您使用 dovecot 2.x,无论是 mdadeliver
还是 LMTP 服务器;两者都具有完整的筛插件的过滤器支持pigeonhole
。