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');
?>