ASP.NET Core身份未发送电子邮件

问题描述 投票:0回答:2

在我的Startup.cs中有

services.AddTransient<Microsoft.AspNetCore.Identity.UI.Services.IEmailSender, EmailSender>(i =>
    new EmailSender(
        Configuration["EmailSender:Host"],
        Configuration.GetValue<int>("EmailSender:Port"),
        Configuration.GetValue<bool>("EmailSender:EnableSSL"),
        Configuration["EmailSender:UserName"],
        Configuration["EmailSender:Password"]
    ));

而且我有课

public class EmailSender : IEmailSender
{
    /* snip */

    public Task SendEmailAsync(string email, string subject, string htmlMessage)
    {
        var client = new SmtpClient(_Host, _Port)
        {
            Credentials = new NetworkCredential(_UserName, _Password), EnableSsl = _EnableSSL
        };

        return client.SendMailAsync(
            new MailMessage(_UserName, email, subject, htmlMessage) { IsBodyHtml = true }
        );
    }
}

我正在运行smtp4dev

[当我尝试注册用户或忘记密码时,不会发送电子邮件。在SendEmailAsync的断点处未命中。

我不明白我需要做些什么来发送电子邮件。你呢?如果是这样,那么您能告诉我这是什么吗?这在某处有记录吗?

asp.net asp.net-core asp.net-core-identity
2个回答
0
投票

由于您需要提供文档,请务必在其中以及如何使用EmailSender类添加代码段,您可以参考此https://docs.microsoft.com/en-us/aspnet/identity/overview/features-api/account-confirmation-and-password-recovery-with-aspnet-identity


0
投票

[如果您确定同时没有发送用于电子邮件验证和密码重置的电子邮件,请忽略此建议。但是,如果您的电子邮件被发送以进行电子邮件验证,但没有收到密码重置,则请继续阅读。

© www.soinside.com 2019 - 2024. All rights reserved.