public bool SendEmail(UserDetail userDetail) { string subject = "MerchantService Registration Activation Link"; string callbackUrl; if (userDetail.RoleName == StringConstants.AdminRoleName) { callbackUrl = this.Url.Link("Default", new { controller = "", action = "" }); } else { callbackUrl = StringConstants.WebApiPath; } string path = HttpContext.Current.Server.MapPath(@"\EmailTemplate\WelcomeMail.html"); string finalTemplate = System.IO.File.ReadAllText(path); finalTemplate = finalTemplate.Replace("${UserName}$", userDetail.UserName).Replace("${Password}$", userDetail.Password) .Replace("$CallBack$", callbackUrl); if (EmailConfig.SendEmail(userDetail.Email, subject, finalTemplate)) { return(true); } else { return(false); } }
public bool SendEmailToSupplier(SPOReceipt spoReceipt) { string subject = "Purchase Order Receipt"; string path = HttpContext.Current.Server.MapPath(@"\Templates\Supplier\SupplierEmailTemplate.html"); string items; StringBuilder stringBuilder = new StringBuilder(); foreach (var item in spoReceipt.SupplierItem) { stringBuilder.Append("<tr><td style=\"text-align:center;padding:10px\">" + item.ItemNameEn + "</td><td style=\"text-align:center;padding:10px\">" + item.FlavourEn + "</td><td style=\"text-align:center\">" + item.Type + "</td><td style=\"text-align:center\">" + item.OrderCostPrice + "</td><td style=\"text-align:center\">" + item.OrderQuantity + "</td></tr>"); } items = stringBuilder.ToString(); string finalTemplate = System.IO.File.ReadAllText(path); finalTemplate = finalTemplate.Replace("${BranchName}$", spoReceipt.BranchName) .Replace("${BranchAddress}$", spoReceipt.BranchAddress) .Replace("${SupplierName}$", spoReceipt.SupplierName) .Replace("${MobileNo}$", spoReceipt.MobileNo) .Replace("${IssueDate}$", "" + spoReceipt.IssueDate) .Replace("${DueDate}$", "" + spoReceipt.DueDate) .Replace("${SPONumber}$", spoReceipt.SPONumber) .Replace("${POType}$", spoReceipt.POType) .Replace("${items}$", items); if (EmailConfig.SendEmail(spoReceipt.SupplierEmail, subject, finalTemplate)) { return(true); } else { return(false); } }
public async Task <ActionResult> ForgotPassword(ForgotPasswordModel model) { try { if (ModelState.IsValid) { var user = await UserManager.FindByEmailAsync(model.Email); if (user == null) { ViewBag.ErrorMessage = "This EmailId is not registered."; ModelState.Clear(); return(View("ForgotPassword")); } else { string code = await UserManager.GeneratePasswordResetTokenAsync(user.Id); var callbackUrl = Url.Action("ResetPassword", "Login", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); string subject = "MerchantService Reset Password Link"; string path = Server.MapPath("/EmailTemplate/ForgetPassword.html"); string finalTemplate = System.IO.File.ReadAllText(path); finalTemplate = finalTemplate.Replace("${Email}$", user.UserName) .Replace("$CallBack$", callbackUrl); if (EmailConfig.SendEmail(model.Email, subject, finalTemplate)) { return(RedirectToAction("ForgotPasswordConfirmation", "Login")); } else { ViewBag.ErrorMessage = "There is a server issue so can't do 'forgot password' at this time, please try again after some time."; ModelState.Clear(); return(View("ForgotPassword")); } } } // If we got this far, something failed, redisplay form return(View(model)); } catch (Exception ex) { _errorLog.LogException(ex); throw; } }