C# Language How to implement password reset token in asp.net identity using user manager.


Example

  1. Create a new folder called MyClasses and create and add the following class

    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. Configure your Identity Class

    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. Add your credentials to the web.config. I did not use gmail in this portion because the use of gmail is blocked in my workplace and it still works perfectly.

    <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. Make necessary changes to your Account Controller. Add the following highlighted code.

First do this

Then This

Compile then run. Cheers!