【发布时间】:2017-05-12 01:45:39
【问题描述】:
我正在使用 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)
{
}
【问题讨论】:
-
当示例显示端口 587 时,您为什么使用端口 25?
-
@mason 点是正确的。我们可以在 gmail smtp 中使用 587 或 465 端口 ID!。我不知道你为什么用 25。
标签: c# email asp.net-core smtp