0 ) ? "true" : "false" ; $match=array("<",">"); $string=array("<",">") ; $search=array("D","H","M","S","W"); $replace=array(" day"," Hour"," minute"," second"," week"); $header_message='
Destinataire :'.$mailto.'
Headers      :
'.str_replace( $match,$string, $headers).'
Sujet        :'.$subject.'
'; $nb_destinataires=0; if (mailto<>"" ) $nb_destinataires +=1; //================= réécriture de l'entête =============================== if ($mails_options[0] == 'on') { if ($mailto=="") $mailto=$conf_mail['email_webmaster']; } if ($mails_options[1] == 'on') { if (!empty($args['Cc'])) { $nb_destinataires += count($args['Cc']); $headers= corrige_header('Cc:',$headers); } if (!empty($args['Bcc'])) { $nb_destinataires += count($args['Bcc']); $headers = corrige_header('Bcc',$headers); } } if ($mails_options[2]=='on') { $texte = "This is a multi-part message in MIME format.\n"; $texte .= "-----=".$conf_mail['boundary_key']."\n"; $texte .= "Ceci est un message est au format MIME.\n"; $texte .= 'Content-Type: text/plain; charset="UTF-8"'."\n"; $texte .= 'Content-Transfer-Encoding: 8bit'."\n\n"; $texte .= $mails_données['header_text']; // A voir texte brut... $texte .= "\n\n"; $content =$texte .$content ; } $ret=false; if ( ($mails_données['quarantaine']=="false") ) { //======== Non mise en quarantaine ============= ob_start(); $ret = mail($mailto, 'Plugin'.$subject, $content, $headers); $message = ob_get_contents(); ob_end_clean(); $mails_données['message']=$message; $est_un_spam =!(strpos(strtolower($message), 'spam') === false); if ($est_un_spam == false) { //--- Non détection de spam ------------------ if ($mails_données['nb_mails']==0) { $date_mail=time(); $mails_periode="+".str_replace( $search, $replace, $mails_données['nb_mails_periode']); $next_day = strtotime($mails_periode,time()); $mails_données['date_mail'] = $next_day; } $next_day = time() + (0); $mails_données['date_quarantaine'] = $next_day ; $mails_données['nb_mails'] += 1; // teste limite atteinte : if (($mails_données['nb_mails'] >= $mails_données['nb_mails_maxi'])) { $erreur_message .= "ALERTE !!! DANGER DE MISE EN QUARANTAINE PAR VOTRE FAI
" ; $erreur_message .= "Vous avez dépassé le nombre de mails admissibles par semaine.

"; $erreur_message .='Date du premier mail: ' . date('d-M-Y H:m:s',$mails_données['date_mail']); $rest_mail= $mails_données['date_mail']-time() ; $erreur_message .= '
Encore : '. int_to_heure($rest_mail) ; if ( (float) $rest_mail <= 0) { $mails_periode="+".str_replace( $search, $replace, $mails_données['nb_mails_periode']); $next_day = strtotime($mails_periode,time()); $mails_données['date_mail'] = $next_day; } } if ($ret==false) { //=============== La fonction mail à retournée false========================= $erreur_message .= '
---- La fonction mail à retournée [false] ------
'; $erreur_message .='-------- MESSAGE erreur : -------------
'; $erreur_message .=$message ; // Bad recipient address syntax $pos1 = strpos(strtolower($message), 'bad recipient address syntax'); if ( !($pos1 === false) ){ $erreur_message .='Détection de : Bad recipient address syntax .'; $erreur_message .='Vérifiez les destinataires: (Bcc,Cc,To)
'; } $erreur_message .='mailto: "'.$mailto.'"
'; $erreur_message .='--------HEADERS -----------------
'; $erreur_message .=$headers ; } }else{ //--- Détection de spam ------------------ if ($mails_données['nb_spams']==0) { $mails_données['date_spam']= time(); } $mails_données['nb_spams'] += $nb_destinataires; $est_un_spam =!(strpos(strtolower($message), 'trop de spam') === false); if ( $est_un_spam ) { $mails_données['quarantaine']=true; $spams_periode="+".str_replace($search, $replace, $mails_données['nb_spams_periode']); $next_day = strtotime( $spams_periode); // $next_day = strtotime('+2 day'); $mails_données['date_quarantaine']= $next_day ; } else { $mails_données['quarantaine']= ($mails_données['nb_spams'] >= $mails_données['nb_spams_maxi']); } // $next_day = time() + (2 * 24 * 60 * 60); if ($mails_données['quarantaine']) { $erreur_message .= "ALERTE !!! DANGER DE MISE EN QUARANTAINE
" ; $erreur_message .= "Vous avez dépassé le nombre de spmas admissibles.

"; } $erreur_message .="
Detection $message
". "Nombre de spams détectés; ".$mails_données['nb_spams']; } }else{ //======== Mise en quarantaine ============= $erreur_message = '
Nous sommes le : '. date('d-M-Y H:m:s') ."
"; if ($reste >= 0) { $erreur_message .= "MISE EN QUARANTAINE !"."
". "Nombre de spams envoyés :". $mails_données['nb_spams']."
". "Depuis le :". date('d-M-Y H:m:s',$mails_données['date_spam'])."
". "Il vous reste encore ". int_to_heure($mails_données['reste']) . " avant le déblocage par votre FAI
qui devrait avoir lieu le ".date('d-M-Y H:m:s',$mails_données['date_quarantaine'])."." ; } $erreur_message .= ''. ' '. "Dernier message reçu.:
". $mails_données['message']. "
"; $ret = "break"; } sauve_données(); $ret=true; return $ret ; } //========================================================================================== function admin_menu($menu) { array_push($menu, array('NAME' => 'Mail_Superv', 'URL' => get_admin_plugin_menu_link(MAIL_SUPERV_PATH . 'admin/mail_superv_admin.php'))); return $menu; } add_event_handler('get_admin_plugin_menu_links', 'admin_menu'); //add_event_handler('loc_end_page_tail', 'affiche_message'); add_event_handler('loc_after_page_header', 'affiche_message'); ?>