Page 1 sur 1

E-mails arrivant vides pour certains fournisseurs

Posté : 03 févr. 2021, 11:36
par pierre_harpic
Bonjour à tous.

Je suis confronté à un problème auquel je ne trouve pas de solution par moi-même, donc j'en appelle à vos bons soins !

J'envoie des e-mails depuis mon site, hébergé sur OVH, comme ceci (j'ai remplacé le nom de domaine.....) :
$boundary = "-----=" . md5( uniqid ( rand() ) );
$headers  = "From: \"Mon Site\"<[email protected]>\n";
$headers .= "Reply-To: [email protected]\n";
$headers .="MIME-Version: 1.0\n"; 
$headers .="Content-Type: multipart/alternative;boundary=$boundary\n";
$headers .="Content-Transfer-Encoding: 8bit\n";
$headers .="Content-Disposition: inline\n";
  
$message_txt= "blablabla \n";

 $message_html = "<html><body style=\"background-color:#dfdfdf;\">
<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"800\">
  blablabla...
";

  $message  = "This is a multi-part message in MIME format.\n\n";
  $message .= "--" . $boundary . "\n";
  $message .= "Content-Type: text/plain; charset=\"UTF-8\"\n";
  $message .= "Content-Transfer-Encoding: 8bit\n";
  $message .= "Content-Disposition: inline\n";
  $message .= $message_txt;
  $message .= "\n\n";
  $message .= "--" . $boundary . "\n";
  $message .= "Content-Type: text/html; charset=\"UTF-8\"\n";
  $message .= "Content-Transfer-Encoding: 8bit\n";
  $message .= "Content-Disposition: inline\n";
  $message .= $message_html;
  $message .= "\n\n";
  $message .="\n--$boundary--\n"; 
  mail($email, 'mot de passe perdu', $message, $headers);
et sur certains webmails, neuf.fr, laposte.net, par exemple, le mail arrive vide, mais en téléchargeant l'originale du message, on voit qu'il est bien présent.

J'ai passé les mails au testeur de score de Spam, c'est correct. J'ai tenter de remplacer certaines balises, en envoyant du multipart/mixed, plutôt qu'alternative.... sans succès
Je ne sais plus vraiment quoi faire pour résoudre le problème.. J'ai même été jusqu'à créer une BàL sur laposte.net, voyez mon désarroi !

Est-ce qu'un de vous à une solution, ou même une petite piste ?
Je peux poster l'entête telle que reçue sur mon mail laposte.net si ça peut aider...

Merci infiniment par avance !

Re: E-mails arrivant vides pour certains fournisseurs

Posté : 03 févr. 2021, 13:28
par @rthur
Pour les mails en HTML mon principal conseil est d'utiliser la librairie PHPmailer car elle est très robuste et permet un envoi des mails avec le moins de risques possibles d'incompatibilité en fonction des fournisseurs de mail :
https://github.com/PHPMailer/PHPMailer

Re: E-mails arrivant vides pour certains fournisseurs

Posté : 03 févr. 2021, 15:34
par pierre_harpic
Merci @rthur !

J'ai migré quelques e-mails, et ça fonctionne impecc' sur mon adresse laposte.net... J'espere qu'il en sera de même sur les autres webmails qui déconnaient...

En tout cas, a priori, ça règle le problème, à défaut de l'identifier...

Merci encore !