PHP8 envoi de mail

Petit nouveau ! | 2 Messages

20 févr. 2023, 11:32

Bonjour,

Je viens de migrer en PHP8 et j'ai des problèmes avec les mails (qui fonctionnaient très bien en PHP7).

Je reçois bien le mail, j'ai un objet mais le message est vide.

Je teste avec ce code tout simple :

$message="mon message mail à envoyer";
$from = "adresse mail expéditeur";
$to = "adresse mail destinataire";
$subject = "test mail";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";

$headers .= 'From: '.$from."\r\n".
'Reply-To: '.$from."\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to,$subject,$message, $headers);

Quelqu'un a une idée ?

Merci de votre retour,

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 févr. 2023, 17:20

Mettre le même e-mail en from et to, c'est un coup à tomber dans un filtre antispam.
Par ailleurs, si ton mail est uniquement en texte, tu n'as pas besoin de mettre une version MIME ni un content-type HTML.
Ma préconisation serait que tu recopies l'exemple exact de la doc pour être sûr : https://www.php.net/manual/fr/function.mail.php
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 2 Messages

23 févr. 2023, 11:50

Bonjour,

Mon "vrai" mail fonctionne en PHP7 mais pas en PHP8. Donc j'ai fait des tests :
J'ai commencé avec :

$message = "mon message mail à envoyer";
$to = adresse destinataire
$subject = "test mail";
mail($to, $subject, $message);

Rien ne se passe.

J'ai ajouté un header :

$from = "adresse expéditeur";
$headers = "MIME-Version: 1.0 \r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "Content-Transfer-Encoding: 8bit\r\n";
$headers .= "From: $from\r\n";
$headers .= "Reply-To: $from\r\n";
mail($to, $subject, $message, $headers);

Le mail part, je le reçois avec un objet ; mais pas de contenu.

Merci de votre aide,

Avatar du membre
Mammouth du PHP | 1609 Messages

23 févr. 2023, 12:11

Salut, je suis tombé la dessus en faisant une recherche google, peut être es-tu impactée par ce même problème de retours à la ligne inconsistants.
https://github.com/php/php-src/issues/8086

PS : as tu fais un test avec content type text/plain ?
Développeur web depuis + de 20 ans

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

25 févr. 2023, 15:42

Teste exactement le code de l'exemple de la doc
Quand tout le reste a échoué, lisez le mode d'emploi...