public EmailNotificationsModel GetEmailNotificationsModel() { var emailNotificationsModel = new EmailNotificationsModel(); emailNotificationsModel.SmtpHost = ConfigurationManager.AppSettings["Host"]; emailNotificationsModel.EmailFrom = ConfigurationManager.AppSettings["UserName"]; emailNotificationsModel.EmailPassword = ConfigurationManager.AppSettings["Password"]; emailNotificationsModel.EnableSSL = Convert.ToBoolean(ConfigurationManager.AppSettings["EnableSsl"]); emailNotificationsModel.PortNumber = Convert.ToInt32(ConfigurationManager.AppSettings["Port"]); emailNotificationsModel.EnableEmailSending = Convert.ToString(ConfigurationManager.AppSettings["EnableEmailSending"]); return(emailNotificationsModel); }
public void SendEmailNotification(string mailTo, string template, Object model = null, EmailNotificationsModel emailNotificationsModel = null, OutgoingEmailLogModel outgoingEmailLogModel = null) { //System.Web.Mail.MailMessage Msg = new System.Web.Mail.MailMessage(); //Msg.From = emailNotificationsModel.EmailFrom; //Msg.To = mailTo; //Msg.Bcc = outgoingEmailLogModel.ExternalEmail; //Msg.Subject = outgoingEmailLogModel.EmailSubject; //Msg.Body = GenerateEmailBody(template, model, outgoingEmailLogModel); //// your remote SMTP server IP. //System.Web.Mail.SmtpMail.SmtpServer = "67.225.221.112";//your ip address //System.Web.Mail.SmtpMail.Send(Msg); var emailNotificationBA = new EmailNotifications(); var serialization = new Serialization(); var smtpClient = new SmtpClient(); var smtpClientOrg = new SmtpClient(emailNotificationsModel.SmtpHost); smtpClient = smtpClientOrg; var mailClient = new MailMessage(); var HashCriteria = new Hashtable(); string actualCriteria; mailClient.From = new MailAddress(emailNotificationsModel.EmailFrom, "Synoptek"); mailClient.To.Add(new MailAddress(mailTo)); List <EmailAddress> mailRecipients = new List <EmailAddress>(); mailRecipients.Add(new Mandrill.EmailAddress() { email = mailTo }); mailClient.Subject = outgoingEmailLogModel.EmailSubject; if (outgoingEmailLogModel.ExternalEmail != null) { mailClient.Bcc.Add(new MailAddress(outgoingEmailLogModel.ExternalEmail)); } mailClient.Body = GenerateEmailBody(template, model, outgoingEmailLogModel); mailClient.BodyEncoding = System.Text.Encoding.UTF8; mailClient.IsBodyHtml = true; smtpClientOrg.Credentials = new System.Net.NetworkCredential(emailNotificationsModel.EmailFrom, emailNotificationsModel.EmailPassword); smtpClientOrg.EnableSsl = emailNotificationsModel.EnableSSL; smtpClientOrg.Port = emailNotificationsModel.PortNumber; smtpClientOrg.Host = emailNotificationsModel.SmtpHost; smtpClient.UseDefaultCredentials = true; if (emailNotificationsModel.EnableEmailSending == "true") { //SendEmailAsync(mailClient, 1, smtpClient); // Email sent here '' MandrillAPI.SendEmail(mailRecipients, mailClient.Subject, emailNotificationsModel.EmailFrom, "Pixere Team", mailClient.Body); } var notifications = new OutgoingEmailLogModel(); notifications.Token = outgoingEmailLogModel.Token; if (outgoingEmailLogModel.EmailFrom != null) { notifications.EmailFrom = outgoingEmailLogModel.EmailFrom; } else { notifications.EmailFrom = emailNotificationsModel.EmailFrom; // if sender is null then email From will be email address from web config. } HashCriteria.Add("EmailTo", mailTo); HashCriteria.Add("EmailBody", mailClient.Body); HashCriteria.Add("EmailSubject", outgoingEmailLogModel.EmailSubject); HashCriteria.Add("TemplateCode", template); HashCriteria.Add("EmailFrom", notifications.EmailFrom); HashCriteria.Add("Token", outgoingEmailLogModel.Token); actualCriteria = serialization.SerializeBinary((object)HashCriteria); var result = emailNotificationBA.SaveOutgoingMessageLog(actualCriteria); var emailID = Convert.ToInt64(serialization.DeSerializeBinary(Convert.ToString(result))); }