Postfix避免向同一地址发送重复邮件方法

01/30/2013

很久没更新博客啦,将之前遇到的问题整理了一些写上来。

IMUNC使用邮件列表工作,信息交流效率很高,于是我将邮件列表体系引入了年级信息传递中。年级的邮件组建立之后邮件列表服务用的不错,但随之而来问题也出现了。

具体情况是这样的,A同学(a@a.com)在邮件列表(list@mydomain.com)里,所有发送到邮件列表的邮件将会自动转发给邮件列表中的所有人(即A同学会收到转发自邮件列表的邮件)。现在我给A同学(a@a.com)发送了一封邮件,同时我将这封邮件抄送给了邮件列表(list@mydomain.com),这样A同学会同时收到两封相同的邮件,一封是我发给他的,另外一封是邮件列表(list@mydomain.com)转发给他的。

Gmail可以自动过滤掉其中的一封,于是我一开始并未注意到,直到后来用QQ邮箱的同学反馈才发现了这个问题,于是翻了一下Postfix手册并且搜索了些文档找到了enable_original_recipient这个设置项。

编辑Postfix的配置文件/etc/postfix/main.cf,在文件的最后加上:

设置之后Postfix将通过一个特殊的ID检查邮件是否重复,如果重复将仅投递一封。保存文件之后以Root运行:

这样就可以避免Postfix向同一邮箱投递相同邮件了。