public void SendEmail(EmailServiceDTO emailModel, string ccAddress) { string fromPass = ""; try { MailMessage message = new MailMessage(); SmtpClient smtpClient = new SmtpClient(); if (isDebugMode) { emailModel.Subject = "[DEBUG MODE] Email To : " + emailModel.FromName + ". | Subject: " + emailModel.Subject; emailModel.ToEmail = ConfigurationManager.AppSettings["DbugToEmail"].ToString(); emailModel.FromEmail = ConfigurationManager.AppSettings["DbugFromEmail"].ToString(); emailModel.FromName = ConfigurationManager.AppSettings["DebugFromName"].ToString(); fromPass = ConfigurationManager.AppSettings["DbugFromPass"]; smtpClient.Host = ConfigurationManager.AppSettings["DbugSMTPHost"]; //"relay-hosting.secureserver.net"; //-- Donot change. smtpClient.Port = Convert.ToInt32(ConfigurationManager.AppSettings["DbugSMTPPort"]); // 587; //--- Donot change smtpClient.EnableSsl = true; smtpClient.Credentials = new System.Net.NetworkCredential(emailModel.FromEmail, fromPass); message.To.Add(emailModel.ToEmail); } else { if (ccAddress != "") { message.CC.Add(ccAddress); } emailModel.FromEmail = ConfigurationManager.AppSettings["FromEmail"].ToString(); emailModel.FromName = ConfigurationManager.AppSettings["FromName"].ToString(); smtpClient.Host = ConfigurationManager.AppSettings["SMTPHost"]; message.To.Add(emailModel.FromEmail); } message.BodyEncoding = Encoding.UTF8; message.From = new System.Net.Mail.MailAddress(emailModel.FromEmail, "The DreamWedds"); message.IsBodyHtml = true; message.Body = emailModel.Body; message.Subject = emailModel.Subject; bool isInsert = EmailBusinessInstance.InsertEmailRecord(emailModel);// EmailBu.EmailServices.Add(emailModel); if (isInsert) { smtpClient.Send(message); } ActivityLog.SetLog("Email sent to " + emailModel.FromEmail, LogLoc.DEBUG); message.Dispose(); } catch (DbEntityValidationException ex) { var newException = new FormattedDbEntityValidationException(ex); ActivityLog.SetLog("Email failed.", LogLoc.DEBUG); throw newException; } catch (Exception ex) { ActivityLog.SetLog("Email failed.", LogLoc.DEBUG); throw ex; } }
private bool SendOTPAndEmail(int UserId) { bool IsSuccess = false; #region Prepare OTP Data string UniqueString = AppUtil.GetUniqueGuidString(); string OTPString = AppUtil.GetUniqueRandomNumber(100000, 999999); // Generate a Six Digit OTP OTPBO objOTP = new OTPBO() { GUID = UniqueString, OTP = OTPString, CreatedDate = DateTime.Now, UserID = UserId, Attempts = 0 }; #endregion try { if (SecurityBusinessInstance.SaveOTP(objOTP)) { #region Send Email Servie and OTP //string hostName = AppUtil.GetAppSettings(AspectEnums.ConfigKeys.HostName); string resetUrl = AppUtil.GetAppSettings(AspectEnums.ConfigKeys.ForgotPasswordURL); string PasswordResetURL = resetUrl + UniqueString; //string PasswordResetURL = Request.Url.AbsoluteUri.Split('/')[0] + Request.Url.AbsoluteUri.Split('/')[1] + resetUrl + "?id=" + UniqueString; EmailNotificationService eNotification = new EmailNotificationService(); var userProfile = UserBusinessInstance.DisplayUserProfile(UserId); // empBusinessInstance.DisplayEmpProfile(EmpId); TemplateMasterBO objEmailTemplate = EmailBusinessInstance.GetEmailTemplate((int)AspectEnums.EmailTemplateCode.ResetPassword); List <TemplateMergeFieldBO> mergeFields = EmailBusinessInstance.GetEmailMergeFields(objEmailTemplate.TemplateID); foreach (var field in mergeFields) { if (field.SRC_FIELD == "{{PASSWORDRESETURL}}") { objEmailTemplate.TemplateContent = eNotification.FindReplace(objEmailTemplate.TemplateContent, "{{PASSWORDRESETURL}}", PasswordResetURL); } else if (field.SRC_FIELD == "{{TONAME}}") { objEmailTemplate.TemplateContent = eNotification.FindReplace(objEmailTemplate.TemplateContent, field.SRC_FIELD, userProfile.FirstName + " " + userProfile.LastName); } } objEmailTemplate.TemplateContent = eNotification.FindReplace(objEmailTemplate.TemplateContent, "{{COMPANY}}", AppUtil.GetAppSettings(AspectEnums.ConfigKeys.CompanyName)); EmailServiceDTO emailService = new EmailServiceDTO(); emailService.Priority = 1; emailService.CreatedBy = userProfile.UserID; emailService.IsHtml = true; emailService.ToName = userProfile.FirstName + " " + userProfile.LastName; emailService.Body = objEmailTemplate.TemplateContent; emailService.Status = (int)AspectEnums.EmailStatus.Pending; emailService.ToEmail = userProfile.Email; emailService.FromName = AppUtil.GetAppSettings(AspectEnums.ConfigKeys.FromName); emailService.FromEmail = AppUtil.GetAppSettings(AspectEnums.ConfigKeys.FromEmail); emailService.Subject = eNotification.FindReplace(objEmailTemplate.TemplateSubject, "{{COMPANY}}", AppUtil.GetAppSettings(AspectEnums.ConfigKeys.CompanyName)); emailService.IsAttachment = false; emailService.TemplateID = objEmailTemplate.TemplateID; emailBusinessInstance.InsertEmailRecord(emailService); eNotification.SendEmailNotification(emailService, objEmailTemplate); IsSuccess = true; #endregion } } catch (Exception ex) { IsSuccess = false; } return(IsSuccess); }