我有一个debian服务器设置与sendmail和majordomo来处理一些邮件列表的传入邮件。 有些用户在多个列表中,并在邮件发送到两个列表时收到邮件两次。 虽然没有出乎意料的行为,但是这些人只会收到一次邮件。
所以基本上问题是:有没有办法阻止多次发送一个邮件给多个(majordomo)列表中的收件人?
奇怪的是,我自己在使用内部用户(如在服务器的一部分)时或者在发送给我的学生邮件帐户时不会收到邮件两次。 不知何故,这些服务器过滤出重复的邮件。
一个解决scheme可以为我工作,当一个消息发送到list1 @ xx和list2 @ xx到list1and2 @ xx时,重写头的方法其中list1和2 @ xx包含list1和list2的所有成员而不重复。
在您的majordomo源代码分发中存在Doc/majordomo.ora 。 在那里你会发现一个build议,使用-odq开关运行sendmail,以便首先发送邮件队列,而不是立即尝试发送它们。 所以在你的majordomo.cf有以下几行:
$mailer = "$sendmail_command -oi -odq -oee -f\$sender";
Sendmail扩展了它必须处理和发送邮件的列表。 当它扩展并开始向第一个列表的成员发送邮件时,它将扩展并发送邮件给第二个列表的成员。 Sendmail试图识别相同的消息,以便每个发送者发送一次,但是如果列表1上的一些收件人已经处理,而在扩展之前它们也是2,则它们将获得两次。 因此,使用-odq将消息放置在两个列表的队列中。 如果两者的消息相同,则组合的收件人将每个用户收到一次。