Il me semble que les fins de lignes sont \r\n (quelles que soient les plateformes)
est-ce qu'en mode 'mixed' ça fonctionne ?
en mode "alternative" c'est le client mail qui choisit la meilleure version (texte / html). la préférée est placée en général à la fin
source
et la vidéo de B zontag (à partir de 52')
Bonjour à tous,
Je suis confronté à un problème d'envoie de mail.
Pour suivre les conseils de mail-tester.com, j'envoie une version texte et une version html de chacun de mes mails.
J'ai codé un objet en PHP pour envoyer le mail, l'objet en lui même fonctionne très bien, il signe même le tout avec DKIM pour passer les test anti-spams, je pense juste avoir un problème de config dans les headers etc...
Pour convertir les messages html en texte, j'utilise cette petite fonction qui marche à merveille :
Ensuite je prépare mes headers :
Et ensuite le corps du message :
Le problème comme indiqué dans le titre, c'est que je ne reçois que la version texte dans mon mail.
D'ailleurs mail-tester semble me le rappeller :

Je m'en suis aperçu car j'avais un bug d'encodage qui cassait mes liens, il supprimait les =
C'est là que j'ai rajouté le 'version texte' pour servir de témoin, et surprise, je ne vois que la version texte dans mon mail reçu...
Si vous savez d'ou ça peut venir ça m'intéresse. :D
Merci !
5 réponses
Merci beaucoup huggy, je vais regarder ça et je reviens vers toi !
EDIT : je reviens vers toi, même problème en mode mixed.
Après avoir regardé quelques partie de la vidéo (très complète d'ailleurs) et la page web que tu m'as envoyé :
mixed c'est quand tu as des pièces jointes,
alternative c'est quand tu as un format mis en forme et une format texte (le meilleur à la fin effectivement.)
Voilà ou j'en suis, ça me semble parfaitement correct en rapport à tout ce que j'ai vu :
MAIS je ne reçois encore et toujours QUE la partie TXT :(
J'ai var_dump mon contenu html et mon contenu texte pour vérifier, et ils sont bien différents et formatés correctement.
Bon comme j'arrivais pas à résoudre mon problème,
J'ai installé la classe PHPMailer (au final j'avais codé ma classe sur le même principe ! :D )
Cette classe est vraiment très poussée, me reste plus qu'a configurer DKIM sur celle là.
Lien pour la classe PHP Mailer : https://github.com/Synchro/PHPMailer
Voici comment envoyer un mail simple :
le plus simple serait de récupérer le mail reçu et de l'enregistrer en tant que fichier.
puis le modifier jusqu'à ce qu'il soit accepté par Thunderbird ou autre client
je pense à un problème de boundary mal reconnu.
Voici mon boundary, il correspond à ce qu'on trouve partout sur le net, avec un id unique etc.
Quoi qu'il en soit maintenant que j'ai configuré PHPMailer je pense utiliser cette classe pour éviter les problèmes, mais je restre frustré d'avoir codé une classe que je ne peux pas utiliser ^^
Merci pour ton aide ! :D