Comment envoyer un email en utilisant MailKit?
Selon le nouveau google la politique https://googleonlinesecurity.blogspot.de/2014/04/new-security-measures-will-affect-older.html je ne peux pas envoyé un e-mail. "Moins d'applications sécurisées" sont prises en compte pour l'application google qui n'utilisent pas le protocole OAuth 2.0.
Je voudrais utiliser MailKit pour résoudre ce problème
var message = new MimeMessage();
message.From.Add(new MailboxAddress("Joey Tribbiani", "[email protected]"));
message.To.Add(new MailboxAddress("Mrs. Chanandler Bong", "[email protected]"));
message.Subject = "How you doin'?";
message.Body = new TextPart("plain"){ Text = @"Hey" };
using (var client = new SmtpClient())
{
client.Connect("smtp.gmail.com", 587);
////Note: only needed if the SMTP server requires authentication
client.Authenticate("[email protected]", "mypassword");
client.Send(message);
client.Disconnect(true);
}
Mais j'ai eu An exception of type 'MailKit.Security.AuthenticationException' occurred in MailKit.dll but was not handled in user code.Additional information: Authentication failed.
Je ne veux pas changer mes paramètres de sécurité. Parce que je veux que tout sera sécurisé. C'est pourquoi je commence à utiliser MailKit plutôt que de Système.Net.Mail
Comment puis-je résoudre ce problème?
source d'informationauteur Anatoly | 2015-11-03
Vous devez vous connecter pour publier un commentaire.
La première chose que vous devez faire est de suivre Instructions de Google pour l'obtention d'OAuth 2.0 les informations d'identification pour votre application.
Une fois que vous avez fait cela, la manière la plus simple d'obtenir un jeton d'accès est d'utiliser Google Google.Les api.Auth bibliothèque:
Maintenant que vous avez un jeton d'accès (
credential.Token.AccessToken
), vous pouvez l'utiliser avec MailKit comme si c'était le mot de passe:Testé code suivant et fonctionne pour moi: