Asp.net Core 3.0 Identity 使用smtp账户确认和密码恢复
当新建一个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
配置实例。
1 | services.AddTransient<IEmailSender, EmailSender>(); |
好了,剩下的就是官方一至内容了。identity还是很方便的。
标签:
Asp.net Core
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构