Пример #1
0
        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();
        }
Пример #2
0
        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);
        }