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"]); } }
Configure your Identity Class
public async Task SendAsync(IdentityMessage message) { MailMessage email = new MailMessage(new MailAddress("[email protected]", "(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); }
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="[email protected]"/>
<add key="GmailPassword" value="yourPassword"/>
<add key="GmailHost" value="yourServer"/>
<add key="GmailPort" value="yourPort"/>
<add key="GmailSsl" value="chooseTrueOrFalse"/>
<!--Smptp Server (confirmations emails)-->
Make necessary changes to your Account Controller. Add the following highlighted code.
Compile then run. Cheers!