internal static void PollingEmail(string connString, String code) { Boolean success = false; Utilities.Utilities.Log(message: "Sending emails Start ... ", isWriteLine: true, addTime: true); EmailSettingInfo emailSetting = DataOperation.GetEmailSetting(connString, code); Utilities.Utilities.Log(message: $"[{emailSetting.Code}] [{emailSetting.Name}] ... ", isWriteLine: false, addTime: true); MailMessage mailMessage = getMailMessage(emailSetting); SmtpClient smtpClient = getsmtpClient(); String emailBodyOrg = System.IO.File.ReadAllText(emailSetting.FileFullName); List <EmailInfo> emails = DataOperation.GetEmails(connString, code); Int32 count = (Int32)(emails.Count * emailSetting.SendPercentage / 100); Utilities.Utilities.Log(message: $"[{count}/{emails.Count}]", isWriteLine: true); foreach (EmailInfo email in emails.Take(count)) { //email.Email = "*****@*****.**"; success = false; Utilities.Utilities.Log(message: $"Sending [{email.Email}] ... ", isWriteLine: false, addTime: true); email.Code = code; email.CompanyName = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(email.CompanyName.ToLower()); String emailBody = emailBodyOrg.Replace("{Company}", email.CompanyName).Replace("\r\n", "<br />"); string[] toEmails = email.Email.Split(';'); mailMessage.To.Clear(); foreach (String toEmail in toEmails) { try { mailMessage.To.Add(toEmail); } catch (Exception) { } } System.Net.Mail.AlternateView plainView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(System.Text.RegularExpressions.Regex.Replace(emailBody, @"<(.|\n)*?>", string.Empty), null, "text/plain"); System.Net.Mail.AlternateView htmlView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(emailBody, null, "text/html"); mailMessage.AlternateViews.Add(plainView); mailMessage.AlternateViews.Add(htmlView); try { smtpClient.Send(mailMessage); success = true; } catch (Exception ex) { email.Comments = ex.Message; } success = DataOperation.UpdateEmail(connString, email); Utilities.Utilities.Log(message: success ? $"[Done]" : "[X]", isWriteLine: true, addTime: false); } smtpClient.Dispose(); mailMessage.Dispose(); }
private static bool sendingEmailAIM(EmailSettingInfo emailSetting, EmailInfo email, String emailBodyOrg, List <MailAddress> mailList) { Boolean success = false; MimeMailMessage mailMessage = getMimeMailMessage(emailSetting, email, emailBodyOrg, mailList); MimeMailer mailer = getMimeMailer(); System.IO.StreamWriter sw = Utilities.Utilities.CloseConsole(); try { mailer.SendMail(mailMessage); success = true; } catch (Exception ex) { email.Comments = ex.Message; } Utilities.Utilities.OpenConsole(sw); return(success); }