La réponse ci-dessus ne fonctionne pas. Vous devez définir DeliveryMethod = SmtpDeliveryMethod.Network
ou il reviendra avec un " le client n'a pas été authentifié erreur ". C'est aussi une bonne idée de prévoir un délai d'attente.
Code révisé :
using System.Net.Mail;
using System.Net;
var fromAddress = new MailAddress("from@gmail.com", "From Name");
var toAddress = new MailAddress("to@yahoo.com", "To Name");
const string fromPassword = "password";
const string subject = "test";
const string body = "Hey now!!";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword),
Timeout = 20000
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
13 votes
Si vous utilisez ASP.Net Mvc, je vous recommande de jeter un coup d'œil à MvcMailer : github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide
0 votes
Veuillez tenir compte des limites d'envoi (j'espère que votre groupe a suffisamment de succès pour que cela soit un problème). support.google.com/a/bin/answer.py?hl=en&answer=166852
0 votes
Un moyen facile de le lire ici. stackoverflow.com/questions/9201239/
0 votes
Le problème pour moi était que mon le mot de passe avait un blackslash " \\ " que j'ai copié-collé sans me rendre compte que cela poserait des problèmes.
0 votes
Un conseil ! Vérifiez la boîte de réception de l'expéditeur, vous devez peut-être autoriser des applications moins sécurisées. Voir : google.fr/settings/security/lesssecureapps
0 votes
Si vous travaillez beaucoup avec le courrier électronique, Mail4Net est d'une grande aide. Il vous permet de tester à l'unité vos envois d'e-mails.
0 votes
S'il vous plaît, regardez la question stackoverflow.com/questions/34851484/
0 votes
Toutes les réponses, pour la plupart redondantes, ci-dessous vous montrent essentiellement comment envoyer un e-mail après avoir autorisé des applications/appareils moins sécurisés. Cependant, cela peut ne pas être suffisant si vous envoyez des e-mails à partir d'un serveur de production avec une IP ou un fuseau horaire différent. Veuillez consulter cette réponse pour une liste complète de scénarios et de solutions : stackoverflow.com/a/26709761/3440152