教学之友,学习之友。

站长教学网

linux下构建反病毒反垃圾邮件系统(7)

时间:2012-03-25 22:29来源:未知 作者:ken 点击:

把用户添加到邮件列表里测试一些,建一个文本文件,比如members.txt,一行一个邮件地址,然后执行如下命令就可以了:

#/usr/local/mailman/bin/add_members-nmembers.txtmailman

3、postfix相关配置

还需要修改postfix的配置文件才能使mailman工作正常,修改main.cf,加上:

 

以下为引用的内容:
  owner_request_special=no
  recipient_delimiter=+
  unknown_local_recipient_reject_code=550

  
修改alias_maps和virtual_maps为:
  
以下为引用的内容:
  alias_maps=hash:/usr/local/mailman/data/aliases,
  mysql:/etc/postfix/mysql-aliases.cf
  virtual_maps=hash:/usr/local/mailman/data/virtual-mailman,
  mysql:/etc/postfix/mysql-virtual.cf

  
单单这样还是不行的,我测试还需要把main.cf里myorigin改为:

 

myorigin=lists.test.org

然后在transport表里添加一个记录:

insertintotransportsetdomain='lists.test.org',destination='local:';

重启postfix和mailman,现在可以试试给mailman这个邮件列表发邮件是否都正常了?

4、python处理中文的问题

如果邮件都是中文gb2312编码的就有问题,查看/usr/local/mailman/logs/error会发现如下的错误:
  

以下为引用的内容:
  Jul1617:40:092003(392)Uncaughtrunnerexception:unknownencoding
  Jul1617:40:102003(392)Traceback(mostrecentcalllast):
  File"/usr/local/mailman/Mailman/Queue/Runner.py",line105,in_oneloop
  self._onefile(msg,msgdata)
  File"/usr/local/mailman/Mailman/Queue/Runner.py",line155,in_onefile
  keepqueued=self._dispose(mlist,msg,msgdata)
  File"/usr/local/mailman/Mailman/Queue/IncomingRunner.py",line130,in_dispose
  more=self._dopipeline(mlist,msg,msgdata,pipeline)
  File"/usr/local/mailman/Mailman/Queue/IncomingRunner.py",line153,in_dopipeline
  sys.modules[modname].process(mlist,msg,msgdata)
  File"/usr/local/mailman/Mailman/Handlers/CookHeaders.py",line75,inprocess
  prefix_subject(mlist,msg,msgdata)
  File"/usr/local/mailman/Mailman/Handlers/CookHeaders.py",line262,inprefix_subject
  h.append(s,c)
  File"/usr/local/mailman/pythonlib/email/Header.py",line285,inappend
  s=s.encode(outcodec,errors)
  LookupError:unknownencoding
  
  Jul1617:40:102003(392)SHUNTING:1058348408.892736+4539457d44c4477c6393b0b8b9916993b6084898

  
这是由于python不支持gb2312的缘故!在linuxforum找到一篇关于如何使python支持gb2312的文章:
 
以下为引用的内容:
  http://www.XXXX..net/forum/showflat.php?Cat=&Board=python&Number=
  427317&page=0&view=collapsed&sb=5&o=&fpart=

  
我就用了作者提供的http://bbs1.nju.edu.cn/file/gb2312.rar,其实它也是从http://sourceforge.net/projects/python-codecs/来的。把gb2312目录的gb2312.py文件拷贝到/usr/lib/python2.1/encodings/目录下,chinesecn目录也拷贝到该目录下,然后修改/usr/lib/python2.1/encodings/aliases.py文件,在最后的}前加上:
  
以下为引用的内容:
  #gb2321_cncodec
  'gb2312':'gb2312', 

然后再次发送中文邮件给邮件列表,发现邮件列表就能够正常转发了。

(责任编辑:ken)
TAG标签: linux mail 邮件 反病毒 反垃圾
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容