我已经安装并配置了 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 文件,甚至使用管道运行自定义程序来处理每条消息。