Ошибка отправки электронной почты с помощью oauth2 gmail
Я пытаюсь отправить электронное письмо с помощью Oauth2, но получаю ошибку при аутентификации моего пользователя. Это ошибка "необработанное исключение типа 'MailKit.Security.AuthenticationException' произошло в mscorlib.dll
Дополнительная информация: 334: eyJzdGF0dXMiOiI0MDAiLCJzY2hlbWVzijoiqmvhcmvyiiwic2nvcguioijodhrwczovl21hawwuz29vz2xllmnvbs8ifq== "
Вот мой код:
using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read)) { string credPath = "token.json"; credential = GoogleWebAuthorizationBroker.AuthorizeAsync( GoogleClientSecrets.Load(stream).Secrets, Scopes, "user@gmail.com", CancellationToken.None, new FileDataStore(credPath, true)).Result; Console.WriteLine("Credential file saved to: " + credPath); } var service = new GmailService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = ApplicationName, }); var message = new MimeMessage(); message.From.Add(new MailboxAddress("User", "user@gmail.com")); message.To.Add(new MailboxAddress("Test", "test@gmail.com")); message.Subject = "Test"; message.Body = new TextPart("plain") { Text = "Test" }; using (var client = new MailKit.Net.Smtp.SmtpClient()) { client.Connect("smtp.gmail.com", 587); // use the access token var oauth2 = new MailKit.Security.SaslMechanismOAuth2(credential.UserId, credential.Token.AccessToken); client.Authenticate(oauth2); client.Send(message); client.Disconnect(true); }
Что я уже пробовал:
Я попытался активировать "меньшие параметры безопасности" gmail, но все равно не работает