Отправка электронной почты с помощью SMTP через gmail

Я работаю в ASP.Net ядро и пытается отправить электронную почту, используя SMTP-клиент из gmail. Есть следующий код, но он не работает
Видел следующий пост, но он не работает
http://dotnetthoughts.net/how-to-send-emails-from-aspnet-core/

Это thorws после ошибки

Система.NotSupportedException: SMTP-сервер не поддерживает проверку подлинности

var emailMessage = new MimeMessage();
emailMessage.From.Add(new MailboxAddress("From Name", "fromEmail@gmail.com"));
emailMessage.To.Add(new MailboxAddress("To Name", "toEmail@gmail.com"));
emailMessage.Subject = subject;

var bodyBuilder = new BodyBuilder();
bodyBuilder.HtmlBody = message;
emailMessage.Body = bodyBuilder.ToMessageBody();

var client = new SmtpClient();
try
{
    await client.ConnectAsync("smtp.gmail.com", 25, SecureSocketOptions.None).ConfigureAwait(false);
    client.AuthenticationMechanisms.Remove("XOAUTH2");  
    await client.AuthenticateAsync("fromEmail@gmail.com", "fromPassword"); //error occurs here

    await client.SendAsync(emailMessage).ConfigureAwait(false);
    await client.DisconnectAsync(true);
    await client.DisconnectAsync(true).ConfigureAwait(false);
}
catch(Exception e)
{

}

1 ответ

  1. ВозникаетNotSupportedException, потому что GMail не поддерживает проверку подлинности без подключения SSL / TLS, поскольку поддерживает только механизмы проверки подлинности на основе незашифрованных паролей.

    Я бы рекомендовал подключаться так:

    client.ConnectAsync("smtp.gmail.com", 587, SecureSocketOptions.StartTls)
    

    Надеюсь, это поможет.