Пример #1
0
        private void AsycnSendEmails(int storeId, int userId, MailMergeRecipientCollection recipients)
        {
            //REINITIALIZE THE TOKEN WITH SAVED STORE/USER CONTEXT
            Store store = StoreDataSource.Load(storeId);

            if (store != null)
            {
                Token.Instance.InitStoreContext(store);
                User user = UserDataSource.Load(userId);
                Token.Instance.InitUserContext(user);
                SendEmails(recipients);
            }
        }
Пример #2
0
 /// <summary>
 /// Sends the email messages generated for this merge template
 /// <param name="recipients">Recipients for the message</param>
 /// <param name="async">If true email messages are sent asynchronously</param>
 /// </summary>
 public void Send(MailMergeRecipientCollection recipients, bool async)
 {
     if (recipients != null && recipients.Count > 0)
     {
         if (async)
         {
             SendEmailsDelegate del = new SendEmailsDelegate(AsycnSendEmails);
             AsyncCallback      cb  = new AsyncCallback(AsyncSendEmailsCallback);
             IAsyncResult       ar  = del.BeginInvoke(Token.Instance.StoreId, Token.Instance.UserId, recipients, cb, null);
         }
         else
         {
             SendEmails(recipients);
         }
     }
 }
Пример #3
0
        /// <summary>
        /// Sends the email messages geneated for this email template
        /// </summary>
        private void SendEmails(MailMergeRecipientCollection recipients)
        {
            if (recipients != null && recipients.Count > 0)
            {
                foreach (MailMergeRecipient recipient in recipients)
                {
                    MailMessage message = null;
                    try
                    {
                        try
                        {
                            message = this.GenerateMessage(recipient);
                        }
                        catch
                        {
                            // SKIP THIS
                            continue;
                        }
                        if (message != null)
                        {
                            EmailClient.Send(message);

                            //UPDATE LAST SEND DATE FOR EmailListUser
                            if (recipient.Parameters.ContainsKey("emailListUser"))
                            {
                                EmailListUser elu = (EmailListUser)recipient.Parameters["emailListUser"];
                                elu.LastSendDate = LocaleHelper.LocalNow;
                                elu.Save();
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.Error("Error sending email with subject '" + message.Subject + "'.", ex);
                    }
                }
            }
        }
Пример #4
0
 /// <summary>
 /// Sends the email message to the recipient list
 /// </summary>
 public void Send(MailMergeRecipientCollection recipients)
 {
     Send(recipients, true);
 }