Bonjour,
J'utilise les script d'annonce script pag, le template a été modifié depuis.
je fait face à des problèmes d'envoi de mails.
Ils partent bien mais n'arrive pas car une erreur se passe au niveau du traitement du corps du message.

Voici le code par exemple pour envoyer le mail de confirmation d'annonce:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function send_confirm($id, $array)
{
global $cache_mails_auto;
 
$email = stripslashes($array['ema']);
$titre = stripslashes($array['tit']);
 
$nom_mail = '';
$email_mail = '';
 
foreach($cache_mails_auto as $v)
{
if($v['type'] == 1)
{
$nom_mail = stripslashes($v['nom']);
$email_mail = stripslashes($v['email']);
$titre_mail = stripslashes($v['titre']);
$message_mail = stripslashes($v['message']);
}
}
 
$url = URL .'/confirmer_ann.php?code='. $id .'&email='. $email;
 
$titre_mail = str_replace('<titre>', $titre, $titre_mail);
$message_mail = str_replace('<titre>', $titre, $message_mail);
$message_mail = str_replace('<url>', $url, $message_mail);
 
//Entête du mail
 
$header = "From: ". $nom_mail ." <". $email_mail.">\n";
$header .= "Reply-To: ". $email_mail ."\n";
$header .= "Content-Type: text/html; charset=\"utf-8\"\n";
 
$header .= "Content-Transfer-Encoding: binary";
 
mail($email, $titre_mail, $message_mail, $header);
return true;
}

Après avoir fait pas mal de tests, j'ai isolé les lignes qui posent problème dans mon cas:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$message_mail = str_replace('<titre>', $titre, $message_mail);
$message_mail = str_replace('<url>', $url, $message_mail);
Si je modifie le $message_mail en mettant du simple texte, le mail est bien reçu. En revanche si je laisse comme tel,cela semble bloquer dans l'interprétation du code.

Autres exemple, le code pour envoyer une annonce à un ami:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$message_mail = $language['page_ann_mail_msg'] .'<a href="'. $url .'">'. $language['page_ann_mail_lien'] .'</a><br><br>'.
$language['page_ann_mail_nom'] .' : '. $name .'<br /><br />'. $language['page_ann_mail_signature'];
Là si modifie comme ci dessous, le mail est reçu avec la phrase de la variable language.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$message_mail = $language['page_ann_mail_msg']
Mais Si je mets juste un peu de code html, comme ci dessous, ça passe plus sad
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$message_mail = $language['page_ann_mail_msg'] .'<a href="'. $url .'">'. $language['page_ann_mail_lien'] .'</a><br><br>';
Une piste ? je désespère