,
J'ai un petit problème avec la fonction mail() de php et je ne suis pas un pro dans le développement web. En fait, j'essaie d'envoyer tout simplement un mail au format HTML à partir d'un petit script qui marche bien, mais lorsque je veux mettre un nom complet dans l'en-tête "From" cela ne passe plus. Voici le code que j'utilise :
1 2 3 4 5 6 7
| // Définition de l'en-tête du message
$mailHeader = "From: \"Nom Prenom\" <nom.prenom@serveur.com>\r\n";
$mailHeader.= "MIME-Version: 1.0\r\n";
$mailHeader.= "Content-type: text/html; charset=iso-8859-1\r\n";
if(!mail($data['email'], 'Newsletter'.$title, ParseBbCode($content), $mailHeader))
$errorMails[] = $data['email']; |
Si je mets juste "nom.prenom@serveur.com" au lieu du nom complet ça passe mais autrement non, je reçois l'erreur :

Envoyé par
PHP
SMTP server response: 553 <"Nom Prenom"> Invalid mail address, must have a domain part in D:\www\airsonic\news\admin\addnew.php on line 58
J'ai donc analysé la trame et voici ce qui est effectivement envoyé sur le serveur
MAIL FROM: <"Nom Prenom" <nom.prenom@serveur.com>>\r\n
Ce qui est faux, on voit que le serveur php a rajouté des < > en trop.
Question : est-ce qu'il y a une option qui gère cela ou sinon d'où vient cette erreur ? Je n'ai rien trouvé de convaincant à ce sujet
.
d'avance
Partager