Ticket #511: antispam.diff
File antispam.diff, 1.8 KB (added by wmerlotto, 15 years ago) |
---|
-
class.imap_functions.inc.php
old new 2795 2795 $msgs_number = explode(',',$params['msgs_number']); 2796 2796 2797 2797 foreach($msgs_number as $msg_number) { 2798 $header = imap_fetchheader($mbox_stream, imap_msgno($mbox_stream, $msg_number)); 2799 $body = imap_body($mbox_stream, imap_msgno($mbox_stream, $msg_number)); 2798 $imap_msg_number = imap_msgno($mbox_stream, $msg_number); 2799 $header = imap_fetchheader($mbox_stream, $imap_msg_number); 2800 $body = imap_body($mbox_stream, $imap_msg_number); 2800 2801 $msg = $header . $body; 2801 2802 $email = $_SESSION['phpgw_info']['expressomail']['user']['email']; 2802 2803 $username = $this->username; … … 2807 2808 $v = explode("\r\n", $header); 2808 2809 foreach ($v as $linha){ 2809 2810 if (eregi("^X-DSPAM-Signature", $linha)) { 2810 2811 2811 $args = explode(" ",$linha); 2812 2812 $signature = $args[1]; 2813 } elseif (eregi("^Message-ID", $linha)) { 2814 $args = explode(" ", $linha); 2815 $msg_id = "$args[1]"; 2813 2816 } 2814 2817 } 2815 2818 2816 // feed dspam2819 // Seleciona qual comando a ser executado 2817 2820 switch($is_spam){ 2818 2821 case 'true': $cmd = $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_spam']; break; 2819 2822 case 'false': $cmd = $_SESSION['phpgw_info']['server']['expressomail']['expressoMail_command_for_ham']; break; 2820 2823 } 2821 $tags = array('##EMAIL##', '##USERNAME##', '##DOMAIN##', '##SIGNATURE##'); 2822 $cmd = str_replace($tags,array($email,$username,$domain,$signature),$cmd); 2824 2825 $tags = array('##EMAIL##', '##USERNAME##', '##DOMAIN##', '##SIGNATURE##', '##MSGID##', '##MSG##'); 2826 $cmd = str_replace($tags, array($email, $username, $domain, $signature, $msg_id, $msg), $cmd); 2823 2827 system($cmd); 2824 2828 } 2825 2829 imap_close($mbox_stream);