Bonjour,
Je souhaite mettre en place un script d'envoi d'email HTML automatique en php. J'ai l'habitude de faire ce genre de développement et jusqu'à présent je n'avais pas eu de problèmes.
Ce qui m'embête c'est que les mails à destination de boîtes à lettre caramail.com, voila.fr, laposte.net, hotmail.fr ne parviennent pas alors que sur les adresses en yahoo.fr ou sur ma boîte pro ça fonctionne.
J'ai commencé par utiliser le script de base :
Puis j'ai essayé avec PHPmailer (que j'ai l'habitude d'utiliser et de faire fonctionner) :
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 function envoyer_email($to,$titre,$message_html,$message_txt) { $limite = "_parties_".md5 (uniqid (rand())); $mail_mime = "Date: ".date("l j F Y, G:i")."\n"; $mail_mime .= "MIME-Version: 1.0\n"; $mail_mime .= "Content-Type: multipart/alternative;\n"; $mail_mime .= " boundary=\"----=$limite\"\n\n"; //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML $texte_simple = "This is a multi-part message in MIME format.\n"; $texte_simple .= "Ceci est un message est au format MIME.\n"; $texte_simple .= "------=$limite\n"; $texte_simple .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; $texte_simple .= "Content-Transfer-Encoding: 7bit\n\n"; $texte_simple .= $message_txt; $texte_simple .= "\n\n"; //le message en html original $texte_html = "------=$limite\n"; $texte_html .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; $texte_html .= "Content-Transfer-Encoding: 7bit\n\n"; $texte_html .= $message_html; $texte_html .= "\n\n\n------=$limite\n"; mail($to,$titre,$texte_simple.$texte_html,"Reply-to:xxx@xxx.com\nFrom:xxx@xxx.com\r\n".$mail_mime); }
Que j'essaye avec ou sans préciser le SMTP il n'y a que sur ma boite pro et ma boîte yahoo.fr que je reçois le mail.
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 include("phpmailer/class.phpmailer.php"); function envoyer_email($to,$titre,$message_html { $mail = new PHPmailer(); $mail->IsSMTP(); $mail->IsHTML(true); $mail->Host = "xxx.xxx.xxx.xxx"; $mail->FromName = "xxx.com"; $mail->From = "xxx@xxx.com"; $mail->AddAddress($to); $mail->AddReplyTo("xxx@xxx.com"); $mail->Subject = $titre; $mail->Body = $message_html; if(!$mail->Send()) { $mail->SmtpClose(); unset($mail); return false; } else { $mail->SmtpClose(); unset($mail); return true; } }
Est-ce que quelqu'un a déjà connu ce problème et pourrait m'aider please ?
Merci d'avance
Partager