Fetchmail:根据“收件人”地址投递到本地邮箱

Fetchmail:根据“收件人”地址投递到本地邮箱

我已经安装并配置了 fetchmail 从我的电子邮件服务器获取邮件。

poll mail.domain.com
    protocol imap
    username "[email protected]"
    password "password"
    options ssl

我的电子邮件服务器上有一个邮箱,用于接收来自三个不同部门的邮件,我需要使用 fetchmail 对这些邮件进行分类。我可以使用“收件人”标题字段来过滤邮件,因为邮件是发送到特定部门的,但我只能登录一次实际邮件服务器。

[email protected] -> [email protected]
[email protected] -> [email protected]
[email protected] -> [email protected]

fetchmail gets [email protected]

[email protected] "To: [email protected]" -> postfix alias 1
[email protected] "To: [email protected]" -> postfix alias 2
[email protected] "To: [email protected]" -> postfix alias 3

我怎样才能做到这一点?

答案1

我建议将 fetchmail 与 procmail 结合起来。在您的 fetchmail 轮询语句中添加:

mda procmail department_mail_sort.rc

然后在部门_邮件排序.rc文件中您可以定义如何对邮件进行分类和传递。

:0
* ^[email protected]
!deptartment1_mailbox@localhost

:0
* ^[email protected]
!deptartment2_mailbox@localhost

:0:
* ^[email protected]
department3_local_mbox_file

Procmail 有多种投递方式,因此一定要查看procmailrc手册页。听起来您正在运行本地 mta,在这种情况下 ! 和 @localhost 会将消息传递到那里,但您也可以转发到其他地方,像上一个示例一样写入 mbox 文件,甚至使用管道运行自定义程序来处理每条消息。

相关内容