PHP mails rejetés par aol, yahoo,

Les serveurs aol, yahoo et hotmail on récemment durci leur règles d’acceptation des messages reçus et rejettent tous les messages dont l’expéditeur appartient à un domaine différent de celui du serveur SMTP de départ. Le blacklistage d’Ouvaton n’est pas en cause !

Voir : http://postmaster.yahoo.com/errors/postmaster-28.html
et : http://postmaster-blog.aol.com/2014/04/22/aol-mail-updates-dmarc-policy-to-reject/

Le serveur SMTP de Ouvaton est smtp.ouvaton.coop il faut donc que l’adresse de l’expéditeur appartienne à ce domaine. Pour ce faire vous allez créer avec OuvAdmin une adresse mail telle que : monsite@ouvaton.org qui sera l’adresse de l’expéditeur de tous les messages que vous allez envoyer avec PHP et vous mettrez le nom et l’adresse du véritable expéditeur dans la zone “reply to” .
Voilà ce que cela donne avec PHPMailer :

<?php

require_once("PHPMailer/class.phpmailer.php");
function envoyerMail( $sujet, $message, $mailExpéditeur, $NomExpéditeur, $mailDestinataire, $NomDestinataire)
{
	$monMail = new PHPMailer();
	$monMail->CharSet = 'UTF-8';
	$monMail->IsSMTP(); // enable SMTP
	$monMail->SMTPDebug = 0;
	$monMail->Debugoutput = 'html';
	$monMail->SMTPAuth = true; // authentication enabled
	$monMail->SMTPSecure = 'tls'; // secure transfer enabled
	$monMail->Host = 'smtp.ouvaton.coop';
	$monMail->Port = 587;
	$monMail->Username = "monsite@ouvaton.org";
	$monMail->Password = "monpass";
	$monMail->AddReplyTo($mailExpéditeur, $NomExpéditeur); // Doit se trouver avant le "SetFrom"
	$monMail->AddAddress($mailDestinataire, $NomDestinataire);
	$monMail->SetFrom("monsite@ouvaton.org", $NomExpéditeur);
	$monMail->Subject = $sujet;
	$monMail->MsgHTML($message);

	if (!$monMail->Send()) {
		echo "Mailer Error: " . $monMail->ErrorInfo . "<br><br>";
		return false;
	} else {
		return true;
	}


}

?>

Si le nom de l’expéditeur est Toto et son adresse mail toto@tutu.com le message reçu par le destinataire apparaitra comme provenant de Toto[monsite@ouvaton.org] mai l’adresse de réponse sera bien Totototo@tutu.com.