Bonjour,
J'ai un hébergement mutualisé sur lequel j'ai un script php qui envoi des mails.
Sur tous les domaines que j'ai pu tester (free, gmail, laposte, etc) aucun souci sauf sur Yahoo avec le retour ci-dessous.
Pouvez-vous m'aider ?
Message de retour :
This is the mail system at host mo598.mail-out.ovh.net.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<geneagier@yahoo.com>: host mta7.am0.yahoodns.net[67.195.228.109] said: 554
5.7.9 This mail has been blocked because it failed authentication checks
against the sending domains DMARC policy. See
https://senders.yahooinc.com/smtp-error-codes#dmarc-fail for more
information. (in reply to end of DATA command)
Reporting-MTA: dns; mo598.mail-out.ovh.net X-Postfix-Queue-ID: 4cgN16578Vz3xKG X-Postfix-Sender: rfc822; maconcourt@maconcourt.com Arrival-Date: Mon, 6 Oct 2025 15:07:38 +0000 (UTC) Final-Recipient: rfc822; geneagier@yahoo.com Original-Recipient: rfc822;geneagier@yahoo.com Action: failed Status: 5.7.9 Remote-MTA: dns; mta7.am0.yahoodns.net Diagnostic-Code: smtp; 554 5.7.9 This mail has been blocked because it failed authentication checks against the sending domains DMARC policy. See https://senders.yahooinc.com/smtp-error-codes#dmarc-fail for more information.
|
Sujet :
comcom |
|
De :
ADUVAL <geneagier@yahoo.com> |
|
Date :
06/10/2025 17:07 |
|
Pour :
geneagier@yahoo.com |
Bonjour,
Votre login authentifié semble être maconcourt@maconcourt.com , cependant dans l'en-tête de votre e-mail vous mettez une adresse @yahoo.com . Ceci n'est pas autorisé par Yahoo via sa policy DMARC.
C'est selon Yahoo une imposture et seul les serveurs de Yahoo peuvent émettre un mail dont l'expéditeur a une adresse Yahoo.
Utilisez votre propre nom de domaine dans l'adresse d'expéditeur.
Bonjour fritztocat,
J'ai fait quelques modifs sur les "headers" dans mon script si pour les mails autres que Yahoo ça fonctionne toujours correctement avec Yahoo je ne reçois toujours rien et je n'ai même plus de message de refus sur l'adresse d'expédition.
Je mets un extrait de ce qui arrive sur une adresse free.fr avec il me semble des infos cohérentes....
Bonjour "fritz2cat" ,
Merci pour le retour
J'ai modifié quelques options dans les "headers" sur l'adresse expéditeur.
Sur les adresses autres que Yahoo c'est ok. Avec Yahoo non seulement le mail n'arrive toujours et de plus je n'ai plus aucun retour de refus....
Dans le message source (exemple vers free.fr) , il me semble avoir quelque chose de cohérent :
Ceci: "Généagier ", c'est une violation de protocole.
Tous les champs texte des en-têtes doivent être strictement en ascii 7-bit.
Si vous voulez coder du texte accentué ou des émoticones dans le nom de l'expéditeur ou du destinataire, il faut utiliser un codage (du même type que dans le sujet).
Des violations de protocole peuvent être un indicateur de probable spam. Ce n'est pas certain que ce soit la raison du comportement de Yahoo, que seul Yahoo pourrait expliquer.
Le SPF suivant est correct: "v=spf1 mx ip4:82.64.20.89 include:mx.ovh.com ~all"
Vous pourriez le réduire à "v=spf1 ip4:82.64.20.89 include:mx.ovh.com ~all"
car votre MX (les serveurs MX d'OVH) ne participe pas à l'envoi des mails. Ces serveurs ne font que recevoir.
Chez Yahoo, avez-vous vérifié le dossier spam ou "courrier indésirable" ?
Bonjour "fritz2cat" ,
Les mails n'étaient pas dans les spams, par contre j'ai retrouvé les erreurs dans mon tableau de bord OVH sous "Scripts email" / "Emails en erreur"
Enfin ça fonctionne !
J'ai encodé mon "objet" accentué en UTF-8.
J'ai à nouveau modifié mes "headers". Ceux qui permettent le fonctionnement correct sont :
$headers = "MIME-Version: 1.0 \n";
$headers .= "Content-type: text/html; charset=utf-8 \n";
$headers .= 'From:'.$nom.' <'.$mailfrom.'>' . "\r\n" .
'Reply-To:'.$email. "\r\n";
$mailfrom : c'est un mail OVH dont je suis le gestionnaire (donc authentifiable)
$email : c'est le mail du destinataire..... xxxx@yahoo.com par exemple.
et ma commande d'envoi du mail est classique :
mail($email, $objet_extend, $message, $headers);
A ce jour, je n'ai pas de "spf" paramétré. Est-ce important de le faire ?
Merci pour votre aide.
Si, vous avez un SPF:
Bonjour "fritz2cat" ,
Oops, je n'avais pas fait attention qu'il y avait 3 pages sur "Zone DNS"
J'ai tenté la modification mais sans succès. Comme vous avez écrit que ce n'est absolument nécessaire de le modifier je vais le laisser avec le "mx".
Merci encore pour l'aide apportée, je considère le pb comme résolu.