我在 aspnet 核心上使用 MimeKit,一切都在本地工作,但是当我尝试在 azure App Service 上发送电子邮件时,我得到“身份验证失败” 。
我必须启用“允许不太安全的应用程序”才能让它在本地工作。
这是我正在使用的代码:
using (var client = new SmtpClient())
{
await client.ConnectAsync("smtp.gmail.com", 465, SecureSocketOptions.SslOnConnect);
await client.AuthenticateAsync(_emailOptions.Username, _emailOptions.Password);
await client.SendAsync(emailMessage);
await client.DisconnectAsync(true);
}
我已通过将 _emailOptions.Username 和 _emailOptions.Password 记录在引发的异常中来验证它们是否正确
catch (Exception ex)
{
_log.LogError(new EventId(1), ex, "Username: '{0}', Password: '{1}'", _emailOptions.Username, _emailOptions.Password);
throw;
}
您对如何解决此问题有任何想法吗?