我找到一篇文章讲在procmail中处理中文的,地址如下(可能需要用代理) http://my.opera.com/Leira/blog/show.dml/181213 我自己水平有限,不会弄procmail,但可能对你 "在 body 里添上一些垃圾邮件的中文信息" 有帮助,所以全文引用如下:
Tips: procmailrc规则中的中文处理 Thursday, 16. March 2006, 05:26:20 procmail有很方便的基于正则表达式的规则,非常强大。处理英文字段自然OK,可是处理中文字段呢?直接打中文恐怕是肯定不可以了。比如分类Subject段包含"中国"的规则,如果写成: * ^Subject.*中国 那就找不到了。因为procmail直接处理邮件文本,而邮件文本都是编码过的,Subject段是肯定不会直接出现"中国"字样。一般邮件内容的编码常用的有两种,QuotedPrintable和Base64,下面分开说。 QuotePrintable 用文本编辑器直接打开mbox文件,在Subject段看到 =?utf-8?Q?Goowy=e9=82=ae=e4=bb=b6=e6=9c=8d=e5=8a=a1=e7=9a =84flash=e7=95=8c=e9=9d=a2_=5bFlickr=5d?= 这样都是=间隔的,就是QuotePrintable编码了,其中头部=?utf-8?Q?中的Q也指出了这儿用的是QuotePrintable编码,utf-8不用解释,就是文本是utf-8编码的。以上的Subject段解码后是: Goowy邮件服务的flash界面_[Flickr] 对于QuotePrintable的Procmail规则就比较简单,直接根据关键字的编码,加入=号间隔就可以了。比如我们查找关键字"服务",对应的utf-8序列是 0xe69c8d 0xe58aa1 ,一般中文自的utf8编码都会是3个字节,那么对应的就是 =e6=9c=8d=e5=8a=a1 ,规则可以这么写: * ^Subject.*=e6=9c=8d=e5=8a=a1 对于GB系列编码也是一样,只是每个汉字就是两个字节,而不是三个了。 Base64 Base64的嘛,hoho,再研究研究~ 等下回吧~ 以上为原文。 On Jan 8, 2008 6:35 PM, Nickel Cobalt <[EMAIL PROTECTED]> wrote: > On Jan 8, 2008 7:49 AM, Ming Hua <[EMAIL PROTECTED]> wrote: > > > > 有人熟悉 SpamAssassin 或是 procmail 的可以写个过滤规则出来吗?似乎最近这 > > 批 spam 都是从集中几个地址发出来的。 > > > > :0 > * ^From: .*( > > yahoo\.com\.cn|\ > Wjmyl|\ > tom\.com|\ > 163\.com) > /dev/null > > 放这个到 ~/.procmailrc 里面,这样要好点。 > 后果是,凡在 from 里带有上述字眼的邮件会被全部删掉的。 > 不想这样的话,那就把具体的邮件地址放进去。不过,我发现这些垃圾邮件的地址老是变,我也没有太好的办法了。 > 除了用这个,我还在 gmail 里设置了一下,手工选上一些垃圾邮件。 > 唉,我是没有太好的办法了。 procmail 不认得中文,要认得的话就能在 body 里添上一些垃圾邮件的中文信息了。 >