身份发送的确认邮件不适用于.net core 3.1相同的代码.net core 2.2正常工作

问题描述

我正在使用身份,我正尝试向向自己注册我的用户发送确认邮件。我将项目从asp.net core 2.2切换到3.1,但遇到一个奇怪的错误。一切似乎都工作良好,完全相同的代码,但是在.net core 3.1中,当我发送电子邮件时出现错误“服务器不支持全连接”。我正在使用一个Gmail帐户(我已禁用了不安全的应用程序),这是我的代码

enter code here



public class EmailSender : IEmailSender
{
    private readonly EmailSettings _emailSettings;

    public EmailSender(IOptions<EmailSettings> emailSettings)
    {
        _emailSettings = emailSettings.Value;
    }

    public Task SendEmailAsync(string email,string subject,string message)
    {
        try
        {
            // Credentials
            var credentials = new NetworkCredential(_emailSettings.Sender,_emailSettings.Password);

            // Mail message
            var mail = new MailMessage()
            {
                From = new MailAddress(_emailSettings.Sender,_emailSettings.SenderName),Subject = subject,Body = message,IsBodyHtml = true
            };

            mail.To.Add(new MailAddress(email));

            // Smtp client
            var client = new SmtpClient()
            {
                Port = _emailSettings.MailPort,DeliveryMethod = SmtpDeliveryMethod.Network,UseDefaultCredentials = false,Host = _emailSettings.MailServer,EnableSsl = true,Credentials = credentials,Timeout = 20000
            };

            // Send it...         
            client.Send(mail);
        }
        catch (Exception ex)
        {
            // Todo: handle exception
            throw new InvalidOperationException(ex.Message);
        }

        return Task.CompletedTask;
    }
}
enter code here

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)