Bonjour,
J'ai créé un site internet avec un script php qui permet d'envoyer des mails automatiquement.
Le site est hébergé sur alwaysdata.
J'ai un problème au niveau de l'envoi des mails.
Car ceux ci sont interceptés par le spam assassin d'alwaysdata.
En cherchant bien le problème vient du sujet qui comporte des caractères accentués.
Le problème vient surement de l'encodage. J'ai cherché de longues heures sur Internet mais je n'ai pas trouvé de solutions qui fonctionnent pour moi.
Voici le code :
Pourriez vous m'aider s'il vous plait ?
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
39
40
41
42
43
44
45
46 $email = "toto@gmail.com"; $subject = "réponse à votre question"; $msg_txt = "Bonjour, \nvoici la réponse à votre question"; $msg_html = str_replace("\n", "<br>", $msg_txt); if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $email)) // On filtre les serveurs qui rencontrent des bogues. { $passage_ligne = "\r\n"; } else { $passage_ligne = "\n"; } //=====Création de la boundary $boundary = "-----=".md5(rand()); //========== //=====Création du header de l'e-mail. $header = "From: Application<noreply@application.fr>".$passage_ligne; $header.= "MIME-Version: 1.0".$passage_ligne; $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne; //========== //=====Création du message. $message = $passage_ligne."--".$boundary.$passage_ligne; //=====Ajout du message au format texte. $message.= "Content-Type: text/plain; charset=UTF-8".$passage_ligne; $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; $message.= $passage_ligne.$msg_txt.$passage_ligne; //========== $message.= $passage_ligne."--".$boundary.$passage_ligne; //=====Ajout du message au format HTML $message.= "Content-Type: text/html; charset=UTF-8".$passage_ligne; $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; $message.= $passage_ligne.$msg_html.$passage_ligne; //========== $message.= $passage_ligne."--".$boundary."--".$passage_ligne; $message.= $passage_ligne."--".$boundary."--".$passage_ligne; //========== //=====Envoi de l'e-mail. mail($email, $subject, $message, $header);
Cordialement
Partager