UserManager.SendEmailAsync在本地主机上有效,但在服务器上

时间:2020-05-17 11:20:28

标签: asp.net-mvc asp.net-identity-2

我正在尝试使用身份2向asp.net MVC中的用户发送电子邮件。 它可以在localhost上正常工作,但是当我将其上传到服务器上时,它不会发送电子邮件。

这就是我在控制器中拥有的东西:

await UserManager.SendEmailAsync(user.Id, "EmailSubject", "emailText");

这就是我在IdentityConfig.cs中拥有的东西:

public Task SendAsync(IdentityMessage message)
        {
            MailMessage mail = new MailMessage();
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
            mail.From = new MailAddress("myGmailAddress", "MyWebsiteAddress");
            mail.To.Add(message.Destination);
            mail.Subject = message.Subject;
            mail.Body = message.Body;
            mail.IsBodyHtml = true;
            SmtpServer.Port = 587;
            SmtpServer.Credentials = new System.Net.NetworkCredential("myGmailAddress", "myGmailPassword");
            SmtpServer.EnableSsl = true;            
            return SmtpServer.SendMailAsync(mail);
        }

1 个答案:

答案 0 :(得分:0)

好吧,我将Smtp端口更改为25:

SmtpServer.Port = 25;

成功了!