Bonjour à tous,
Je ne sais pas si je suis au bon forum mais voici mon problème :
Je un script PHP qui va envoyer un mail. Quand j'envoie le mail au format text l'envoie se passe sans problème, mais quand j'envoie le mail au format HTML j'obtient un message d'erreur qui dit : "envoi de l'email raté car $headers must be an array".
J'utilise mon propre serveur de messagerie qui fonctionne sans problème.
J'ai installé, sur ce serveur, la classe PEAR et la classe MAIL.
Au niveau de mon fichier PHP.INI j'ai activé le paramètre safe_mode.
Le script que j'utilise est le suivant :
Quand je n'utilise pas les 2 lignes suivantes :
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 require_once 'Mail.php'; $sujet = 'Sujet de l\'email'; $message = "Bonjour,<br /> <strong>Ceci est un message html envoyé grâce à php.</strong><br /> merci :)"; $destinataire = 'user@domaine.fr'; $headers = "From: user1@mondomaine.fr\n"; $headers .= "Reply-To: user@domaine.fr\n"; $headers .= "Content-Type: text/html; charset=\"iso-8859-1\""; $params["host"] = "Mon SMTP"; $params["port"] = "25"; $params["auth"] = true; $params["username"] = "Nom d'utilisateur"; $params["password"] = "Mot de Passe"; // Create the mail object using the Mail::factory method $mail_object =& Mail::factory('smtp', $params); if (PEAR::isError($mail_object)) { print "<p>construction de l'objet 'Mail' ratée car "; die($mail_object->getMessage()); } else { print "<p>objet 'Mail' construit !"; } $send_result = $mail_object->send($destinataire,$sujet,$message,$headers); if (PEAR::isError($send_result)) { print "<p>envoi de l'email raté car "; die($send_result->getMessage()); } else { print "<p>envoyé !"; } ?>
$headers .= "Reply-To: user@domaine.fr\n";
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"";
le mail part sans problème, mais il n'est pas au format HTML.
Merci de votre aide.
Dimitri.
Partager