always_bcc邮箱重复邮件处理
[quote]Trouble Shooting收到两封同样的邮件(duplicate messages)
Question: 当你将邮件发送给某个地址,例如:[email]www@example.com[/email],并且 cc 给某个邮件列表,而 www@ 用户恰好在这个列表里,最终 www@ 用户收到了两封一模一样的邮件。
Answer:这是传说中的 'duplicate messages',解决办法很简单,添加以下参数到 Postfix 的 main.cf 文件中即可:
文件: /etc/postfix/main.cf
enable_original_recipient = no
该参数只在 postfix 的 2.4.x 版本以及更高版本中有效,2.3.x 系列版本则只在 2.3.14 及更高版本有效
可惜EMOS的postfix版本是postfix-2.3.6-2hzq ,郁闷啊[/quote]
该操作后还会有重复邮件
[list=1]
[*]其他系统群发给本域的邮件
[*]由过滤器转发的邮件
[/list]
利用maildrop的过滤功能去除给always_bcc邮箱相同message-id的邮件
修改/etc/maildroprc如下:[code]#always_bcc
if ( $LOGNAME eq "always_bcc@domain.com" && $FROM eq "always_bcc@domain.com" )
{
exit
}
if ( $LOGNAME eq "always_bcc@domain.com" )
{
if ((/^Message-I.*/:hD))
{
exist=`[ -f '/tmp/message_id' ] && echo 'y'`
if ( $exist ne 'y' )
{
`touch /tmp/message_id`
}
else
{
num=`wc -l /tmp/message_id |awk '{print $1}'`
if ( $num >= 10000 )
{
`> /tmp/message_id `
}
}
m_id=`echo $MATCH |awk -F'<' '{print $2}' | awk -F'>' '{print $1}'`
ok=`grep $m_id /tmp/message_id > /dev/null 2>&1 && echo 'y'`
if ( $ok ne 'y')
{
date=`date`
`echo $date $MATCH >> /tmp/message_id`
`test -r $HOME/.mailfilter`
if ($RETURNCODE == 0)
{
include $HOME/.mailfilter
}
}
else
{
exit
}
}
}[/code] 顶!!!!加精。 DDDDD:victory: :victory: 果然是高,条条大道通罗马!!
[url]http://www.extmail.org/forum/viewthread.php?tid=1380&extra=page%3D2%26amp%3Bfilter%3Ddigest&page=2[/url]
页:
[1]