public async Task <bool> SendMailAsync(SendMailParamsDto dto) { var msg = new MailMessage { From = new MailAddress(_configuration["EmailSetting:UserName"], "Giza Systems Web Services") }; foreach (var to in dto.ToList) { msg.To.Add(to); } foreach (var cc in dto.CcList) { msg.CC.Add(cc); } msg.Subject = dto.MessageTitle; msg.IsBodyHtml = dto.IsHtml; msg.Body = dto.MessageBody; var smtp = new SmtpClient(_configuration["EmailSetting:Smtp"]) { Credentials = new System.Net.NetworkCredential(_configuration["EmailSetting:UserName"], _configuration["EmailSetting:Password"]) }; await smtp.SendMailAsync(msg); msg.Dispose(); return(true); }
public async Task <IActionResult> ForgetPassword(ForgetPasswordDto model) { if (!ModelState.IsValid) { return(View(model)); } var user = await _userManager.FindByEmailAsync(model.EmailAddress); if (user == null) { TempData["clientMessage"] = Helper.PrepareClientMessage("Invalid email address.", DataEnum.ClientMessageType.Error); return(View(model)); } var token = await _userManager.GeneratePasswordResetTokenAsync(user); var message = "Dear: " + model.EmailAddress; message += "<br/>Please follow the link below to reset your password<br>"; message += _configuration["WebsiteUrl"] + "/home/resetpassword?token=" + token + "&email=" + model.EmailAddress; var messageParams = new SendMailParamsDto { ToList = new List <string> { model.EmailAddress }, IsHtml = true, MessageBody = message, MessageTitle = _configuration["WebsiteName"] + ": Reset password" }; var result = await _emailServices.SendMailAsync(messageParams); if (result) { TempData["clientMessage"] = Helper.PrepareClientMessage("Reset password link sent to your email address.", DataEnum.ClientMessageType.Success); return(View()); } TempData["clientMessage"] = Helper.PrepareClientMessage("An error occured while sending the email.", DataEnum.ClientMessageType.Error); return(View()); }