web-dev-qa-db-fra.com

Erreur SMTP: les destinataires suivants ont échoué: XXXX

Donc, je viens de recevoir cette erreur en essayant d'envoyer un courrier en utilisant PHPmailer à partir de mon site. 

Erreur SMTP: les destinataires suivants ont échoué: XXXX

J'ai essayé de définir $ mail-> SMTPAuth = true; à faux mais pas de résultat. Et j'ai essayé de changer le mot de passe pour le compte mail et de le mettre à jour dans le sendmailfile.php mais toujours le même.

Cela a fonctionné comme prévu il y a deux jours, maintenant je ne sais pas pourquoi cela se produit. Puisqu'il n'y a pas de code d'erreur non plus, je ne sais pas vraiment par où commencer et puisque cela a fonctionné ..

Quelqu'un qui pourrait savoir?

    $mail = new PHPMailer();
    $mail->CharSet = 'UTF-8';
    $mail->ContentType = 'text/html';
    $mail->IsSMTP();
    $mail->Host = "Host.COM";
    $mail->SMTPAuth = true;
    $mail->Username = "MAIL_TO_SEND_FROM"; 
    $mail->Password = "PASSWORD"; 
    $mail->From = "MAIL_TO_SEND_FROM";
    $mail->FromName = "NAME";
    $mail->AddAddress($safeMail);
    $mail->AddReplyTo("[email protected]", "No-reply");
    $mail->WordWrap = 50;
    $mail->IsHTML(true);
    $sub = "SUBJECT";
    mail->Subject = ($sub);
11
Markus

Peut-être que votre fichier class.phpmailer.php est corrompu. Téléchargez la dernière version à partir de: https://github.com/PHPMailer/PHPMailer

$mail->SMTPDebug  = 1; // enables SMTP debug information (for testing)
                               // 1 = errors and messages
                               // 2 = messages only
17
chirag ode

J'ai rencontré le même problème. Géré aussi réparer quand j'ai commenté la rangée suivante:

 $mail->isSMTP(); 

Remarquez que vous avez déjà trouvé une réponse, mais peut-être que cela résoudra le problème pour d'autres personnes.

Cela empêche l'utilisation de votre serveur SMTP externe, comme RozzA l'a indiqué dans les commentaires.

23
Jordy

essayez d'inclure ceci

$mail->SMTPDebug  = 1;
2
Vihanga Gamage

Essayez simplement de définir SMTPAuth sur false.

2
Manish Chauhan

Il s’agit d’une restriction imposée par votre serveur SMTP . L’envoi de messages électroniques est un élément essentiel de l’activité Internet en pleine croissance. Parfois, un grand nombre de courriels doivent être envoyés tous les jours, même toutes les heures. À cela s’ajoute également le problème croissant du spam par courrier électronique et du nombre incalculable de messages indésirables que les utilisateurs reçoivent constamment.

Les restrictions les plus courantes sont:

150 e-mails par heure; 1500 e-mails par 24 heures; 50 destinataires par message, chaque destinataire étant compté comme un message électronique envoyé séparément (par exemple, si vous avez 50 destinataires dans un seul message) , cela comptera comme 50 messages envoyés);

Une solution consiste à utiliser une liste de diffusion. La restriction est de 1 500 courriers électroniques pour 24 heures. Il n’ya aucune restriction quant au nombre d’e-mails envoyés par heure, c’est-à-dire que vous pouvez envoyer un e-mail à une liste de diffusion contenant au maximum 1 500 destinataires sans problème.

Si vous atteignez la limite horaire/journalière, vous obtiendrez cette erreur en essayant d’envoyer d’autres courriers électroniques: 550 - Arrêtez, vous envoyez trop vite!

Vous pourrez à nouveau envoyer des courriers électroniques une fois l'heure/jour écoulée.

Ce que vous devez savoir pour éviter de dépasser votre limite:

Les restrictions de courrier électronique ci-dessus s'appliquent à l'intégralité du compte d'hébergement et non à une seule boîte aux lettres. Cela signifie que si l'une de vos boîtes aux lettres dépasse la limite autorisée, vous ne pourrez pas envoyer de messages à partir de l'un de vos autres comptes de messagerie . Si, à un moment quelconque, vous recevez le message d'erreur susmentionné, Il est fortement recommandé d'arrêter toutes les tentatives d'envoi de messages à partir de vos boîtes aux lettres. Si vous continuez à essayer, vos messages seront laissés dans une file d'attente, qui devra d'abord être effacée, avant que le minuteur du serveur puisse se réinitialiser et vous permettre de renvoyer des courriers électroniques.

1
Zeke

Veuillez noter dans vos lignes i.e ....

$mail->Username = "MAIL_TO_SEND_FROM"; $mail->Password = "PASSWORD"; $mail->From = "MAIL_TO_SEND_FROM";

Ici, aux lignes 1 et 3, vous devez utiliser la même adresse e-mail (vous ne pouvez pas utiliser une adresse e-mail différente), cela fonctionnera bien, j'espère que vous utiliserez une adresse e-mail différente,.

0
Saif Warsi

il existe un problème légèrement moins probable. Cette condition est probablement due à la protection accordée par votre FAI.

ou peut-être que c'est un problème avec les adresses email des destinataires/expéditeurs

0
Vihanga Gamage

Voici quelques informations supplémentaires sur SMTP Auth

PLAIN (Utilise le codage Base64.) LOGIN (Utilise le codage Base64.) E.t.c - vous pouvez regarder ici http://en.wikipedia.org/wiki/SMTP_Authentication

Pour moi, la solution consistait à définir SMTPAuth sur true pour la classe PHPMailer

0
Belikov Dmitrii