J'utilise PHPMailer depuis un certain temps maintenant et je n'ai jamais vraiment eu de problèmes, mais la semaine dernière j'ai installé un de mes CMS sur un site web et le client a insisté pour avoir 2 e-mails recevant le contenu du formulaire de contact de son site web.
Ok, pas de problème je me suis dit, il suffit d'ajouter une adresse e-mail en utilisant la fonction $phpmailer->AddAddress(). Cependant, l'ajout d'un deuxième destinataire fait que PHPMailer envoie le courrier deux fois aux deux destinataires. J'ai essayé d'ajouter un troisième récepteur pour voir si je recevais le message trois fois, mais cela n'a rien changé. Donc, l'ajout de 2+ récepteurs fait que PHPMailer envoie le message deux fois à tous les récepteurs.
Il n'y a rien d'étrange dans mon code. C'est un exemple basique de PHPMailer :
$mail = new PHPMailer();
$mail->AddReplyTo("name@yourdomain.com","First Last");
$mail->SetFrom('name@yourdomain.com', 'First Last');
$mail->AddAddress("info@address.com");
$mail->AddAddress("info@address.nl");
$mail->Subject = "PHPMailer Test Subject via mail(), basic";
$mail->Send();
Je suis à court d'options. Je n'ai absolument aucune idée de ce qui ne va pas.
Merci d'avance
--
Juste une pensée au hasard : J'ai remarqué que le mailer est paramétré par défaut en iso-8859-1 et que mon site fonctionne en utf8. Peut-il y avoir une redirection "silencieuse" par le serveur lui-même ?
//EDIT, cela ^^ a résolu mon problème.
//EDIT2 :
Ok, ce n'est pas le cas aujourd'hui le script a bien fonctionné (juste 1 mail avec 2 récepteurs) mais il y a un moment le comportement étrange a recommencé. Des conseils ?
// Solution :
Ok, je me sens vraiment stupide ! La réponse de Zulkhaery Basrul était la plus proche du problème réel ! Voici ce qui s'est passé : J'envoyais un e-mail à plusieurs adresses dans le champ "à". Par exemple :
A : A, B, C
Les deux A/B sont mes propres adresses. Dans Outlook, j'avais des règles de message pour placer les e-mails avec certains destinataires dans un dossier spécifique. A et B avaient tous deux cette règle.
Lorsque j'ai reçu mon courrier électronique, les deux courriers contenaient les deux adresses dans le champ "à". Ce qui fait que les deux mails répondent aux exigences des deux règles. Ainsi, l'original est conservé dans un dossier et une copie est créée dans l'autre (deux fois).
Merci d'y avoir pensé :)