2017-08-14 1 views
0

J'ai essayé d'obtenir mon application pour envoyer un email pendant plus d'une heure maintenant, et j'ai essayé tout que j'ai trouvé en ligne mais j'obtiens toujours l'exception mentionnée dans le titre de ma question.le serveur SMTP requiert une connexion sécurisée ou le client n'a pas été authentifié. La réponse du serveur était 5.5.1, Authentification requise

Voici le code utilisé i:

 SmtpClient client = new SmtpClient(); 
     client.Host = "smtp.gmail.com"; 
     client.Port = 587; 
     client.Credentials = new NetworkCredential("Sender email", "Sender email password"); 
     client.EnableSsl = true; 
     client.UseDefaultCredentials = false; 
     client.DeliveryMethod = SmtpDeliveryMethod.Network; 

     MailMessage mail = new MailMessage(); 
     mail.From = new MailAddress("Sender email", "Sender"); 
     mail.To.Add(new MailAddress("My email")); 
     mail.Subject = "TEST"; 
     mail.IsBodyHtml = true; 
     mail.Body = sb.ToString(); 

     client.Send(mail); 

J'ai permis d'accéder à des applications moins sécurisées sur mon compte. J'ai également essayé d'activer 2FA, puis de générer un mot de passe spécifique à l'application, mais l'exception reste.

+0

client.UseDefaultCredentials est réglé sur faux, comme vous pouvez le voir dans mon extrait de code, et dans le code réel j'ai mis l'email et le mot de passe, mais pour des raisons évidentes, j'ai supprimé ceux de l'extrait. – chrisstar123

+0

Avez-vous essayé de définir EnableSsl sur false? –

+0

Avez-vous activé "Acess pour les applications moins sécurisées" dans vos paramètres Gmail? – ISHIDA

Répondre

2
  1. Vérifiez votre compte gmail et allumez "Acess moins sécure"

  2. Set client.UseDefaultCredentials = false; avant client.Credentials = new NetworkCredential("Sender email", "Sender email password");