如何使用使用者管理器在 asp.net 身份中實現密碼重置令牌

  1. 建立一個名為 MyClasses 的新資料夾,然後建立並新增以下類

    public class GmailEmailService:SmtpClient
    {
        // Gmail user-name
        public string UserName { get; set; }
    
        public GmailEmailService() :
            base(ConfigurationManager.AppSettings["GmailHost"], Int32.Parse(ConfigurationManager.AppSettings["GmailPort"]))
        {
            //Get values from web.config file:
            this.UserName = ConfigurationManager.AppSettings["GmailUserName"];
            this.EnableSsl = Boolean.Parse(ConfigurationManager.AppSettings["GmailSsl"]);
            this.UseDefaultCredentials = false;
            this.Credentials = new System.Net.NetworkCredential(this.UserName, ConfigurationManager.AppSettings["GmailPassword"]);
        }
    }
    
  2. 配置你的身份類

    public async Task SendAsync(IdentityMessage message)
    {
        MailMessage email = new MailMessage(new MailAddress("youremailadress@domain.com", "(any subject here)"),
        new MailAddress(message.Destination));
        email.Subject = message.Subject;
        email.Body = message.Body;
    
        email.IsBodyHtml = true;
    
        GmailEmailService mailClient = new GmailEmailService();
        await mailClient.SendMailAsync(email);
    }
    
  3. 將你的憑據新增到 web.config。我沒有在這部分使用 gmail,因為 gmail 的使用在我的工作場所被阻止,它仍然完美無缺。

    <add key="GmailUserName" value="youremail@yourdomain.com"/>
    <add key="GmailPassword" value="yourPassword"/>
    <add key="GmailHost" value="yourServer"/>
    <add key="GmailPort" value="yourPort"/>
    <add key="GmailSsl" value="chooseTrueOrFalse"/>
    <!--Smptp Server (confirmations emails)-->
    
  4. 對你的帳戶控制器進行必要的更改。新增以下突出顯示的程式碼。

https://i.stack.imgur.com/mJz6k.jpg

https://i.stack.imgur.com/S8jvL.jpg

編譯然後執行。乾杯!