返回列表 发帖
下面是引用linus2k于2007-06-05 11:04发表的:

我说的不太明白,我是说我在保存.mailfilter的时候讲输入的规则由其他编码转成utf8
iconv($rule->{subject}, 'utf-8', 'gb2312')
iconv($rule->{subject}, 'utf-8', 'iso-8859-1')
iconv($rule->{subject}, 'utf-8', 'iso-2022-jp')
.......

这样子弄啊?貌似不太妥当,因为字符转为内码,一般只有1-1对应关系,您这么做,实际上只有1个是有效的。其他都无效。
请引用或摘抄本站文章信息的朋友,保留本站链接及作者信息,保护版权,谢谢。

欢迎选购- ExtMail 专业版

Postfix在中国官方网站

TOP

下面是引用joies_zhong于2007-06-04 10:52发表的:
何老大,如果使用maildecode 来执行过滤的话,在extmail中应怎样步署呢?

BBC,如果我想用maildrop 来调maildecode的话,我应怎么做呢???

TOP

请问老大门,如果是对发件者过滤,要改哪些地方才能用啊

TOP

回复 6# linus2k


    大神,这段代码加进去就报错了:
  1. syntax error at /opt/web/extsuite/extmail/libs/Ext/MailFilter.pm line 344, near "'" syntax error at /opt/web/extsuite/extmail/libs/Ext/MailFilter.pm line 345, near "}" Compilation failed in require at /opt/web/extsuite/extmail/libs/Ext/App/Filter.pm line 19. BEGIN failed--compilation aborted at /opt/web/extsuite/extmail/libs/Ext/App/Filter.pm line 19. Compilation failed in require at (eval 4) line 19.
复制代码

TOP

好像找到问题了,看了一下邮件的内容,发现Subject是经过base64编码过的,而.mailfilter文件中的没有经过ba ...
linus2k 发表于 2007-5-30 09:39



    大神,我是这样改的,发现还是不行啊:
  1. [root@localhost testuser]# perl -e 'use MIME::Base64; print encode_base64("小闲")'  
  2. 5bCP6Zey
  3. [root@localhost testuser]# vi .mailfilter


  4. ##Name:小闲
  5. ##From:
  6. ##Recipient:
  7. ##Subject:小闲
  8. ##Folder:.
  9. ##Folder:!i@zhaoyanan.cn

  10. if (($SUBJECT=~/.*5bCP6Zey.*/))
  11. {
  12.   cc "$HOME/Maildir/."
  13.   if ((!/^X-Loop:.*$FROM/) && !$BADSENDER)
  14.   {
  15.     to "| reformail -a 'X-LOOP: $FROM'| $SENDMAIL -f " '"$SENDER"' " i@zhaoyanan.cn"
  16.   }
  17. }

  18. to "$HOME/Maildir/."
复制代码

TOP

返回列表