Ubuntu Postfix Courier Imap 根据发件人地址自定义过滤器到自定义文件夹

Ubuntu Postfix Courier Imap 根据发件人地址自定义过滤器到自定义文件夹

我正在尝试找到一种方法,根据发件人地址将收到的邮件发送到特定文件夹。我的设置是在 Ubuntu Server 14.04 上,Postfix mail_version = 2.11.0 Courier Imap 带有 spamassasin、amavis、clamav。设置基于此这个在线指南。随着服务器日渐成熟,我开始需要根据发件人地址分离收到的邮件(就像 gmail 对社交标签所做的那样)。我必须使用 maildirmake 在现有帐户中创建一个新文件夹

 maildirmake -f Social /var/mail/virtual/domain/account

为了使新文件夹正常工作,我从现有文件夹复制粘贴了权限和所有权,如下所示

sudo chown -R --reference=.Sent/ .Social
sudo chmod -R --reference=.Sent/ .Social

此后,新文件夹就会显示在 Thunderbird 中,我可以将电子邮件移动到其中。

现在对我来说最棘手的部分是,尽管我搜索了好多地方,但我还是找不到可行的解决方案,那就是我想在 Postfix 上应用过滤器?或者其他任何方法,这样如果收到的电子邮件来自 Twitter,就会显示在社交文件夹中。提前感谢任何能给我的指导。问候。

答案1

是的,这是可能的。Nick_W 和 Karma 已经为您提供了使用 maildrop 的想法。如果您在 MySQL 中存储了虚拟用户(基于您的教程),它应该可以正常工作。它将使用 Courier authlib 来确定邮箱的位置。

安装 maildrop 后,确保 postfix 文件中的 maildrop 服务master.cf已激活

maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/path/to/maildrop -d ${recipient}

并编辑main.cf以配置 Postfix 以使用邮件投递传输而不是后缀默认虚拟的运输。

maildrop_destination_recipient_limit = 1
virtual_transport = maildrop

最后一步是告诉 maildrop 根据发件人过滤电子邮件。应放置该规则/etc/maildroprc以强制执行全局过滤。

if (/^From: *@twitter\.com/)
{
    ... do what you want...
}

參閱邮件投递邮件投递过滤器有关 maildrop 过滤语法的文档。

附加教程:

相关内容