web-dev-qa-db-fra.com

Erreur de serveur Outlook SMTPClient 5.3.4 5.2.0

J'ai une application Web MVC .NET qui fonctionne depuis presque une année maintenant. Cependant, aujourd'hui, nous avons reçu un code d'erreur et j'ai du mal à trouver comment résoudre le problème.

Dans l'application, j'utilise SMTPClient pour envoyer des e-mails. Pour cela, nous utilisons un compte de messagerie Outlook. Cela fonctionnait bien jusqu'à aujourd'hui. Le code d'erreur que j'obtiens est le suivant:

Boîte aux lettres indisponible. La réponse du serveur était: 5.3.4 554-554 5.2.0 STOREDRV.Deliver; bannière de résultat de livraison

Voici le code que j'utilise dans mon application.

var client = new SmtpClient
            {
                Host = WebConfigurationManager.AppSettings["EmailHost"],
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new System.Net.NetworkCredential(WebConfigurationManager.AppSettings["EmailSender"],
                    WebConfigurationManager.AppSettings["EmailSenderPassword"])
            };

WebConfigurationManager.AppSettings ["EmailHost"], est défini sur smtp.live.com dans la configuration Web.

Après cela, j'ajoute des données et les autres informations nécessaires bien sûr, mais j'ai omis cela. L'erreur est levée lorsque nous arrivons à la dernière partie du code; client.Send(mail);

Des choses que j'ai essayées jusqu'à présent qui n'ont pas fonctionné.

  • Connectez-vous au compte de messagerie sur Outlook.live.com.
  • Paramètres de sécurité mis à jour sur Outlook.live.com pour le compte de messagerie.
  • Modifié smtp.live.com en smtp-mail.Outlook.com
  • Changé le port à 25 (ce qui m'a donné la même erreur) et 465 (ce qui m'a donné une erreur de serveur non atteint)
  • Définissez EnableSsl sur false (le client ne fonctionne pas lorsque je le fais)

J'ai vu plusieurs messages sur SO et d'autres sites Web similaires ou ayant le même code d'erreur. Mais ils restent sans réponse ou marquent la connexion au compte de messagerie comme la solution, ce qui ne travaille pour moi.

Lorsque nous nous sommes connectés au compte de messagerie, nous avons reçu un avis de mise à jour de Microsoft parlant de la nouvelle mise à jour de confidentialité et de sécurité. C'était du 16 septembre. Je ne sais pas s'il y a un délai de trois mois dans lequel vous devez l'accepter. Mais il y a une semaine, le compte de messagerie a envoyé un e-mail et hier, il n'a pas réussi à en envoyer un. Nous avons convenu que l'accord s'affiche, mais il ne fonctionne toujours pas.

Quelqu'un at-il une idée de ce que je peux essayer maintenant ou de la cause de cette erreur?

10
Robin

OK, j'ai résolu ce problème sur mon système comme suit:

j'envoyais le message avec une adresse e-mail différente de celle du compte que j'envoyais comme ceci:

string from = "[email protected]";

donc je l'ai changé en:

string from = "[email protected]";

alors maintenant ça marche bien ... jours heureux

MailMessage mail = new MailMessage(from, to);
17
Andie

La réponse d'un 5.2.0 STOREDEV est dû au SPF sur un serveur de messagerie. https://en.wikipedia.org/wiki/Sender_Policy_Framework

Ce qui s'est passé ici, c'est que lorsque vous avez envoyé un e-mail de [email protected] votre serveur de messagerie tente d'authentifier que l'e-mail était légitime. Il demande donc somwhere.com quelles adresses IP sont autorisées à envoyer des e-mails prétendant provenir de somwhere.com, puisque vous ne possédez pas somwhere.com il a indiqué à votre client de messagerie qu'il était frauduleux, et votre client de messagerie l'a rejeté comme spam.

Ainsi, lorsque vous avez modifié l'e-mail pour qu'il soit [email protected] Le SPF d'Outlook ne l'a pas rejeté comme spam et il a réussi.

1
Hovestar

J'ai résolu ce problème sur mon système comme suit: l'adresse de l'expéditeur doit être comme ci-dessous: 1. "[email protected]" 2. "[email protected]" Ici, j'utilise "smtp.live. com "comme domaine de serveur et port est 587. En cas de problème avec le pare-feu, vous pouvez ajouter une règle dans votre pare-feu pour le même port 587.

0
arpit rai