然后再次发送中文邮件给邮件列表,发现邮件列表就能够正常转发了。 5、邮件列表的配置
Default.py和mm_cfg.py的配置是针对全局的,对全局配置文件的修改不会影响到已经存在的邮件列表。mailman提供了config_list这个命令来对单个邮件列表进行配置,先导出该邮件列表的配置:
# /usr/local/mailman/bin/config_list -o /tmp/config mailman
然后修改/tmp/config文件,里面有很多选项,可以根据自己的要求修改,比如加上回复到邮件列表的邮件头、去掉mailman自动加的边脚等等,最后把这个配置文件导回给邮件列表就可以了:
# /usr/local/mailman/bin/config_list -i /tmp/config mailman
习惯了发现mailman配起来也是蛮简单的。
五、其它事项
1、courier-pop
有一个值得注意的问题,如果不小心/etc/init.d/courier-pop stop以后,再start起来,有时候会发现不能登陆pop,日志会提示:
courierpop3login: chdir: No such file or directory
这应该是一个bug,courierpop3login好像使用了工作目录,只需退到根目录再start启动就没有问题。感谢scz的提醒。
2、Debian的ENC增强位
Debian默认设置/proc/sys/net/ipv4/tcp_ecn=1,这样在TCP握手时发的syn包ecn置位,对于一些严格的防火墙来说这不是syn包,所以拒绝和你建立连接。只需置零就可以了:
echo 1 > /proc/sys/net/ipv4/tcp_ecn
如果希望重启也不置位,那么在/etc/sysctl.conf里加上: net/ipv4/tcp_ecn=0
3、邮箱别名
alias表是针对本地的别名,virtual表才是针对虚拟用户的别名。比如要给san@test.org建立一个别名faint@test.org,那么写入以下的SQL语句:
insert into virtual set email='faint@test.org',destination='san@test.org';
4、地址欺骗
为了让mailman正常工作,main.cf里已经设置myorigin = lists.test.org,这使得本地用户发送邮件也使用这个域名,比如通过web发邮件在日志里就能看到from是nobody@lists.test.org,如果lists.test.org这个子域名不存在的话,那么对于一些严格的邮件服务器会拒绝接受此类邮件(postfix可以在smtpd_sender_restrictions后面加上reject_unknown_sender_domain拒绝此类邮件)。
这时可以使用postfix的masquerade_domains选项来实现地址欺骗,只需加上:
masquerade_domains = test.org
这样本地用户发送的邮件地址就使用test.org了。但有一点要注意,要屏蔽邮件列表,比如:
masquerade_exceptions = mailman, otherlist
这样邮件列表还是使用lists.test.org这个域。地址欺骗并不影响虚拟域。
历史记录
0.01 - 初始版本。根据自己服务器配置和使用过程写的HOWTO。