当新建一个core项目后,使用identity基架后,确认邮件出现了错误,并不能正常使用。

建立文档在这里

https://docs.microsoft.com/zh-cn/aspnet/core/security/authentication/scaffold-identity?view=aspnetcore-3.1&tabs=visual-studio#scaffold-identity-into-an-empty-project

参考后发现,并没有实现这个接口,需要自己完成,这是官方文档,可是官方第三方key

https://docs.microsoft.com/zh-cn/aspnet/core/security/authentication/accconfirm?view=aspnetcore-3.1&tabs=visual-studio#require-email-confirmation

下面,使用一个自己的习惯吧,就是用自己的邮箱发送内容给用户。

和官方文档一样,建立一个emailsender

兄弟 们接代码:

public class emailsender : iemailsender
    {

        public async task sendemailasync(string email, string subject, string message)
        {

            // 设置邮件内容
            var mail = new mailmessage(
                new mailaddress("wangbin5542@163.com", "王彬"),
                new mailaddress(email)
                );
            mail.subject = subject;
            mail.body = message;
            mail.isbodyhtml = true;
            mail.bodyencoding = encoding.utf8;
            mail.priority = mailpriority.high;//邮件优先级
                                              // 设置smtp服务器
            var smtp = new smtpclient("smtp.163.com", 25);
            smtp.usedefaultcredentials = false;
            smtp.credentials = new system.net.networkcredential("wangbin5542@163.com", "*******“;
            smtp.deliverymethod = smtpdeliverymethod.network;
            await smtp.sendmailasync(mail);

        }
    }

然后,我们将以下代码添加到startup.cs文件的 configureservices 方法中:  

  • 将 emailsender 添加为暂时性服务。
  • 注册 authmessagesenderoptions 配置实例。
services.addtransient<iemailsender, emailsender>();

  

好了,剩下的就是官方一至内容了。identity还是很方便的。