Ne peut pas auth pour smtp de Gmail via MailMessage & smtpClient
Je ne peux pas comprendre pour la vie de mon pourquoi cela ne fonctionne pas
SmtpClient smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
UseDefaultCredentials = false,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential("[email protected]", "myGmailPasswordHere"),
EnableSsl = true,
Timeout = 10000
};
smtp.Send(mail);
J'obtiens:
Le serveur SMTP nécessite une connexion sécurisée ou le client n'est pas authentifié. La réponse du serveur est: 5.5.1 Authentification Requise.
J'ai juste spécifié EnableSsl vrai, alors cela ne devrait pas être le problème en termes de connexion sécurisée.
Je suis l'exécution de ce à partir de localhost. Et oui, mon nom d'utilisateur et mot de passe, je suis entrée à l'auth (mon compte gmail informations d'identification) est de 100% à droite.
- Avez-vous déclaré dans le web.config?
- non, pour l'instant, le codage en dur elle. Ne devrait pas question pour le test, web.config ou pas.
- J'ai édité ma réponse laissez-moi savoir si cela fonctionne?
- veuillez vérifier les réponses et de fournir un acceptées, si il y en a un.
Vous devez vous connecter pour publier un commentaire.
Je sais que c'est un vieux sujet, MAIS... Google a changé quelque chose sur leurs paramètres de sécurité.
A été aux prises avec toutes les réponses jusqu'à ce que j'ai vérifié mon e-mail avec un mail de Google indiquant que "récemment, nous avons bloqué une tentative de connexion sur votre compte Google".
Qui m'a conduit à cette page:
Google Compte De La Sécurité
Sous la rubrique "Accès pour moins d'applications sécurisées" section, vous pouvez activer l'accès à votre compte à partir d'autres périphériques/applications... comme votre application en C#.
Remarque, il n'est plus une "spécifique de l'application de la section".
Espère que cela aide quelqu'un... je viens de perdre 30 minutes de ma vie...
Si les informations de connexion est de 100% à droite, vous devez définir
UseDefaultCredentials = false
première et ensuite définir les informations d'identification que vous souhaitez utiliserCredentials = new NetworkCredential("[email protected]", "myGmailPasswordHere")
.Si vous définissez les informations d'identification d'abord, lorsque vous définissez
UseDefaultCredentials = false
cela rendra leCredentials
propriéténull
.C'est filaire, mais il m'est arrivé.
Déboguer votre code et de vérifier si le
Credentials
propriété est null, avant de vous appelersmtp.Send(message);
. Si oui, alors essayez d'inverser l'ordre. Il me semble vous l'avoir dans le bon ordre, mais si c'est null, n'utilisez pas la ligne d'initialisation.Espère que cela aide.
EDIT: Si vous utilisez la vérification en deux étapes, assurez-vous que vous utilisez une Application Spécifique du mot de passe
Il ressemble à Gmail Demande de mot de passe spécifique(pas votre mot de passe principal).
S'il vous plaît, regardez-vous dans cette: http://support.google.com/mail/bin/answer.py?hl=en&reponse=1173270
J'ai eu le même problème récemment.
J'ai eu ce problème avant et fixe les mesures suivantes:
Je viens d'avoir cette option est désactivée et mon code a été exécuté avec succès.
Cela a très bien fonctionné pour moi
Pour moi la solution 2 "étapes":
UseDefaultCredentials = false
d'abord, puis de définir les informations d'identification que je veux utiliserCredentials = new NetworkCredential("[email protected]", "myGmailPasswordHere")
. Paramètre les informations d'identification d'abord, lorsque j'ai misUseDefaultCredentials = false
fera les informations d'Identification de la propriéténull
.Avoir un rappel de la façon suivante. Dire
System.Net
pour ignorer l'erreur!Ajouter ce avant l'appel à
Send()
Edit: essayez d'ajouter cette ligne
smtp.Credentials = Credentials
après cetteCredentials = new NetworkCredential("[email protected]", "myGmailPasswordHere"),
Eu le même problème l'accès smtp.gmail.com à partir d'un ASP.NET l'application en cours d'exécution sur Amazon AWS d'hébergement. Il s'est avéré que ma configuration est - il travaille aussi bien à partir d'un autre ordinateur, mais gmail serait renier ma tentative de connexion, parce que j'ai essayez de vous connecter à partir d'un emplacement inhabituel.
Je me suis connecté sur gmail sur le web interface (www.gmail.com), et ont eu à répondre à un captcha. Après cela, il a travaillé.
Mon problème était que le domaine, du propriétaire pour nos gmail compte avait désactivé les deux "Accès pour moins d'applications sécurisées" et deux de l'étape d'authentification. Il n'y a aucun moyen de l'activer, je ne pouvais même pas voir le réglage. Alors j'ai testé avec mon compte personnel, à la place, et il a bien fonctionné.
Très simple il suffit de suivre ce pour C# WPF Application:
Après cela, vous devriez obtenir comme cette Erreur
Pour Résoudre ce problème, à la première connexion de votre compte e-mail de votre compte google dans le navigateur web. Ensuite il suffit de suivre ce lien Google Compte De L'Activité. Ensuite, vous aurez Appareils récents & l'activité de votre compte. Si l'option afficher les bloquer votre activité actuelle de votre appareil actuel. Juste le Débloquer. Puis essayez à nouveau d'envoyer un email.
Grâce