在我的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
的断点处未命中。
我不明白我需要做些什么来发送电子邮件。你呢?如果是这样,那么您能告诉我这是什么吗?这在某处有记录吗?
由于您需要提供文档,请务必在其中以及如何使用EmailSender类添加代码段,您可以参考此https://docs.microsoft.com/en-us/aspnet/identity/overview/features-api/account-confirmation-and-password-recovery-with-aspnet-identity
[如果您确定同时没有发送用于电子邮件验证和密码重置的电子邮件,请忽略此建议。但是,如果您的电子邮件被发送以进行电子邮件验证,但没有收到密码重置,则请继续阅读。