Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
        }