[英]Send Email using SMTP via gmail
我正在ASP.Net Core中工作,並嘗試使用Gmail的smtp客戶端發送電子郵件。 有以下代碼,但不起作用也有看過以下帖子,但不起作用http://dotnetthoughts.net/how-to-send-emails-from-aspnet-core/
錯誤后鳴叫
System.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)
{
}
拋出NotSupportedException
是因為GMail僅支持基於密碼的非加密身份驗證機制,因此不使用SSL / TLS連接就不支持身份驗證。
我建議這樣連接:
client.ConnectAsync("smtp.gmail.com", 587, SecureSocketOptions.StartTls)
希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.