- 论坛徽章:
- 0
|
找到答案了:
简单的说,这是ezmlm邮件列表管理程序为了确认subscriber是否有效,所采取的一种核对措施。
流程如下:
ezmlm会跟踪发送给allstaff成员的每一封邮件是否发送成功;
若不成功(bounced),ezmlm会在11.6天(1w秒)后发送一封确认邮件给subscriber;
若再次失败(bounces too),ezmlm会再等候11.6天,然后再次发送一封探测邮件(send you a probe);
若探测邮件再次失败,则ezmlm会将mail地址从maillist里面删除。
在服务器14号出现磁盘满的情况下,发送给allstaff列表的mail有大部分都被bounced了,所以……
——————————————————————————
相关资料:
http://www.stllinux.org/meeting_notes/1998/0521/bounces.html
Ezmlm Bounce Handling
ezmlm automatically handles bounces in a manner that assures that subscribers are not removed due to temporary failures, but at the same time removes addresses that fail continuously (for more than 3 weeks).
ezmlm uses VERP. This way, ezmlm knows the subscriber address corresponding to any bounce received. ezmlm keeps track of bounces and after about 11 days sends a list of missed messages to the subscriber.
If this message bounces, ezmlm waits another 11 days, then sends a probe message to the subscriber. If this probe message bounces, the subscriber address is removed.
http://www.ezmlm.org/man/man1/ezmlm-warn.1.html
NAME
ezmlm-warn - send out bounce warnings
SYNOPSIS
ezmlm-warn [ -dD ][ -t timeout ][ -l lockout ] dir
DESCRIPTION
ezmlm-warn sends out warning messages for the mailing list stored in dir.
ezmlm-warn scans dir/bounce/d/ for directories older than timeout days ago (see -t). The directories are created by B ezmlm-return and contain bounces. If ezmlm-warn sees a distribution bounce for box@domain received more than timeout days ago, it sends box@domain a list of all the message numbers missed recently, and deletes the bounce. If it sees a warning bounce for box@domain received more than timeout days ago, it sends box@domain a probe, and deletes the bounce.
ezmlm-warn uses dir/bounce/lastd to keep track of when it was last run. If insufficient time has passed (see -l) ezmlm-warn exits without further action.
ezmlm-warn keeps files with the bounced message numbers in dir/bounce/h. Expired files are removed and dir/bounce/lasth keeps track of the last subdirectory scanned.
ezmlm-warn will not send a warning or probe to an address that is not currently a subscriber.
OPTIONS
-d
process bounces for the digest list, rather than for the main list. Digest list bounces are stored in dir/digest/bounce/ rather than in dir/bounce/.
-D
(Default.) Process bounces for the main list.
-l lockout
ezmlm-warn will abort execution if it was run less than lockout seconds ago. The default is timeout / 50, which with the default timeout is 20,000 seconds (approx. 5.6 hours). There is no reason to use this switch, except for testing and possibly in combination with -t.
-t timeout
Bounces received more than timeout days ago are processed. This overrides the default of 1,000,000 seconds (approximately 10 days) and may possibly be useful for very large busy lists. Also, a timeout of zero can be used to send a warning to all addresses for which a bounce has been received and a probe for all addresses for which a warning has bounces. This is useful to rapidly clear out bouncing addresses from a (low quality) address list.
惭愧,满以为这是一个很有深度的问题,原来人家的manpage就已经写得很清楚了!不求甚解啊!
可以通过编辑allstaff/editor文件的方法来取消掉ezmlm的这个功能。
原文如下:
|/usr/local/bin/ezmlm/ezmlm-reject '/home/vpopmail/domains/mydomian.com/allstaff'
|/usr/local/bin/ezmlm/ezmlm-issubn '/home/vpopmail/domains/mydomian.com/allstaff' '/home/vpopmail/domains/mydomian.com/allstaff/allow' '/home/vpopmail/domains/mydomian.com/allstaff/mod' || { echo "Sorry, only subscribers may post. If you are a subscriber, please forward this message to sdstaff-owner@mydomian.com to get your new address included. (#5.7.2)"; exit 100 ; }
|/usr/local/bin/ezmlm/ezmlm-send '/home/vpopmail/domains/mydomian.com/allstaff'
|/usr/local/bin/ezmlm/ezmlm-warn '/home/vpopmail/domains/mydomian.com/allstaff' || exit 0
把最后的一行删除就好了。
BTW:另外再提一个ezmlm的技巧,把editor文件里面的蓝色字体部分删除,就可以达到“仅特殊开通的人员才可以发送邮件给allstaff,而不是默认的:成员均可以发送”。
[ 本帖最后由 busyant 于 2007-5-28 14:56 编辑 ] |
|