166 votes

Le serveur SMTP exige une connexion sécurisée ou le client n'a pas été authentifié. La réponse du serveur était : 5.5.1 Authentification requise ?

Je veux envoyer un email depuis mon application et j'ai écrit le code suivant pour envoyer un email

    MailMessage msg = new MailMessage();

    msg.From = new MailAddress("mymailid");
    msg.To.Add("receipientid");
    msg.Subject = "test";
    msg.Body = "Test Content";
    msg.Priority = MailPriority.High;

    SmtpClient client = new SmtpClient();

    client.Credentials = new NetworkCredential("mymailid", "mypassword", "smtp.gmail.com");
    client.Host = "smtp.gmail.com";
    client.Port = 587;
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.EnableSsl = true;
    client.UseDefaultCredentials = true;

    client.Send(msg);

Je l'exécute sur localhost donc quelle erreur je fais pour l'envoyer.

Quand j'envoie le bouton, il y a une erreur comme

Le serveur SMTP exige une connexion sécurisée ou le client n'a pas été authentifié. La réponse du serveur était : 5.5.1 Authentification Requis.

Code dans le fichier Web.config

 <appSettings>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />   
    <add key="smtpServer" value="smtp.gmail.com" />
    <add key="EnableSsl" value = "true"/>
    <add key="smtpPort" value="587" />
    <add key="smtpUser" value="sender@gmail.com" />
    <add key="smtpPass" value="mypassword" />
    <add key="adminEmail" value="sender@gmail.com" />
  </appSettings>
  <system.net>
    <mailSettings>
      <smtp from="sender@gmail.com">
        <network host="smtp.gmail.com" password="mypassword" port="587" userName="sender@gmail.com"  enableSsl="true"/>
      </smtp>
    </mailSettings>
  </system.net>

que dois-je faire pour résoudre cette erreur et envoyer le courrier ?

0voto

Farzaneh Points 563

J'ai eu le même problème, il a été résolu en changeant le mot de passe en mot de passe fort.

0voto

kombsh Points 740

Si vous rencontrez ce problème avec un compte Office 365. Dans Exchange Online, par défaut, l'authentification du client SMTP est désactivée pour tous les comptes de boîtes aux lettres Office 365. Vous devez activer manuellement l'authentification SMTP pour le compte problématique et vérifier à nouveau le cas. Consultez les fils de discussion ci-dessous.

https://morgantechspace.com/2021/01/the-smtp-server-requires-a-secure-connection-or-the-client.html

https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission

0voto

Simple Code Points 466

J'ai utilisé les étapes dans cette question et ça a marché pour moi.

Mon problème était que la suite G ne considérait pas mon mot de passe comme fort et après l'avoir changé, il a fonctionné parfaitement.

0voto

DonSleza4e Points 152

Si toutes les solutions mentionnées n'ont pas aidé, essayez d'utiliser cette URL - elle m'a aidé à débloquer l'envoi d'e-mails sur mon site web.

https://g.co/allowaccess

0voto

Dayannex Points 51

Qui peut être si : 1)l'utilisateur ou le pass sont incorrects 2) le SSL n'est pas activé 3) l'application moins sécurisée n'est pas activée 4) vous ne vous êtes pas connecté au serveur avec ce mail 5) Vous n'avez pas défini client.UseDefaultCredentials = false.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X