Esempio n. 1
0
 public static void SendQueuedEmails(int failureInterval, int maxNumberOfTries, SiteSettings settings)
 {
     if (settings != null)
     {
         HiConfiguration config = HiConfiguration.GetConfig();
         Dictionary <Guid, MailMessage> dictionary = new EmailQueueDao().DequeueEmail();
         IList <Guid> list   = new List <Guid>();
         EmailSender  sender = Messenger.CreateEmailSender(settings);
         if (sender != null)
         {
             int   num = 0;
             short smtpServerConnectionLimit = config.SmtpServerConnectionLimit;
             foreach (Guid guid in dictionary.Keys)
             {
                 if (Messenger.SendMail(dictionary[guid], sender))
                 {
                     new EmailQueueDao().DeleteQueuedEmail(guid);
                     if ((smtpServerConnectionLimit != -1) && (++num >= smtpServerConnectionLimit))
                     {
                         Thread.Sleep(new TimeSpan(0, 0, 0, 15, 0));
                         num = 0;
                     }
                 }
                 else
                 {
                     list.Add(guid);
                 }
             }
             if (list.Count > 0)
             {
                 new EmailQueueDao().QueueSendingFailure(list, failureInterval, maxNumberOfTries);
             }
         }
     }
 }
Esempio n. 2
0
 public static void SendQueuedEmails(int failureInterval, int maxNumberOfTries, SiteSettings settings)
 {
     if (settings != null)
     {
         HiConfiguration config = HiConfiguration.GetConfig();
         Dictionary<Guid, MailMessage> dictionary = new EmailQueueDao().DequeueEmail();
         IList<Guid> list = new List<Guid>();
         EmailSender sender = Messenger.CreateEmailSender(settings);
         if (sender != null)
         {
             int num = 0;
             short smtpServerConnectionLimit = config.SmtpServerConnectionLimit;
             foreach (Guid guid in dictionary.Keys)
             {
                 if (Messenger.SendMail(dictionary[guid], sender))
                 {
                     new EmailQueueDao().DeleteQueuedEmail(guid);
                     if ((smtpServerConnectionLimit != -1) && (++num >= smtpServerConnectionLimit))
                     {
                         Thread.Sleep(new TimeSpan(0, 0, 0, 15, 0));
                         num = 0;
                     }
                 }
                 else
                 {
                     list.Add(guid);
                 }
             }
             if (list.Count > 0)
             {
                 new EmailQueueDao().QueueSendingFailure(list, failureInterval, maxNumberOfTries);
             }
         }
     }
 }
Esempio n. 3
0
 public static void SendQueuedEmails(int failureInterval, int maxNumberOfTries, SiteSettings settings)
 {
     if (settings != null)
     {
         EmailQueueDao   emailQueueDao             = new EmailQueueDao();
         HiConfiguration config                    = HiConfiguration.GetConfig();
         Dictionary <Guid, MailMessage> dictionary = emailQueueDao.DequeueEmail();
         IList <Guid> list        = new List <Guid>();
         EmailSender  emailSender = Messenger.CreateEmailSender(settings);
         if (emailSender != null)
         {
             int   num = 0;
             short smtpServerConnectionLimit = config.SmtpServerConnectionLimit;
             foreach (Guid key in dictionary.Keys)
             {
                 if (Messenger.SendMail(dictionary[key], emailSender))
                 {
                     emailQueueDao.DeleteQueuedEmail(key);
                     if (smtpServerConnectionLimit != -1 && ++num >= smtpServerConnectionLimit)
                     {
                         Thread.Sleep(new TimeSpan(0, 0, 0, 15, 0));
                         num = 0;
                     }
                 }
                 else
                 {
                     int num2 = emailQueueDao.GetMailMessage(key) + 1;
                     if (num2 <= maxNumberOfTries)
                     {
                         emailQueueDao.QueueSendingFailure(key, failureInterval, maxNumberOfTries);
                     }
                     else
                     {
                         emailQueueDao.DeleteQueuedEmail(key);
                     }
                 }
             }
         }
     }
 }
Esempio n. 4
0
 public static void SendQueuedEmails(int failureInterval, int maxNumberOfTries, SiteSettings settings)
 {
     if (settings != null)
     {
         HiConfiguration config = HiConfiguration.GetConfig();
         System.Collections.Generic.Dictionary <System.Guid, System.Net.Mail.MailMessage> dictionary = new EmailQueueDao().DequeueEmail();
         System.Collections.Generic.IList <System.Guid> list = new System.Collections.Generic.List <System.Guid>();
         EmailSender emailSender = Messenger.CreateEmailSender(settings);
         if (emailSender != null)
         {
             int   num = 0;
             short smtpServerConnectionLimit = config.SmtpServerConnectionLimit;
             foreach (System.Guid current in dictionary.Keys)
             {
                 if (Messenger.SendMail(dictionary[current], emailSender))
                 {
                     new EmailQueueDao().DeleteQueuedEmail(current);
                     if (smtpServerConnectionLimit != -1 && ++num >= (int)smtpServerConnectionLimit)
                     {
                         System.Threading.Thread.Sleep(new System.TimeSpan(0, 0, 0, 15, 0));
                         num = 0;
                     }
                 }
                 else
                 {
                     list.Add(current);
                 }
             }
             if (list.Count > 0)
             {
                 new EmailQueueDao().QueueSendingFailure(list, failureInterval, maxNumberOfTries);
             }
         }
     }
 }