/// <summary> /// The construct message list. /// </summary> /// <param name="mailMessages"> /// The mail messages. /// </param> /// <param name="mailList"> /// The mail list. /// </param> private void ConstructMessageList(IDictionary<MailMessage, Mail> mailMessages, IEnumerable<Mail> mailList) { // construct mail message list... foreach (var mail in mailList.Where(x => x.ID > 0)) { // Build a MailMessage if (mail.FromUser.IsNotSet() || mail.ToUser.IsNotSet()) { this.MailRepository.Delete(mail); continue; } try { MailAddress toEmailAddress = mail.ToUserName.IsSet() ? new MailAddress(mail.ToUser, mail.ToUserName) : new MailAddress(mail.ToUser); MailAddress fromEmailAddress = mail.FromUserName.IsSet() ? new MailAddress(mail.FromUser, mail.FromUserName) : new MailAddress(mail.FromUser); var newMessage = new MailMessage(); mailMessages.Add(newMessage, mail); newMessage.Populate(fromEmailAddress, toEmailAddress, mail.Subject, mail.Body, mail.BodyHtml); } catch (FormatException ex) { // incorrect email format -- delete this message immediately this.MailRepository.Delete(mail); #if (DEBUG) this.Logger.Debug("Invalid Email Address: {0}".FormatWith(ex.ToString()), ex.ToString()); #else this.Logger.Log( null, this, "Invalid Email Address: {0}".FormatWith(ex.ToString()), EventLogTypes.Warning); #endif } } }
/// <summary> /// The construct message list. /// </summary> /// <param name="mailMessages"> /// The mail messages. /// </param> /// <param name="mailList"> /// The mail list. /// </param> private void ConstructMessageList(IDictionary<MailMessage, TypedMailList> mailMessages, IEnumerable<TypedMailList> mailList) { // construct mail message list... foreach (var mail in mailList.Where(x => x.MailID.HasValue)) { // Build a MailMessage if (mail.FromUser.IsNotSet() || mail.ToUser.IsNotSet()) { LegacyDb.mail_delete(mail.MailID.Value); continue; } try { MailAddress toEmailAddress = mail.ToUserName.IsSet() ? new MailAddress(mail.ToUser, mail.ToUserName) : new MailAddress(mail.ToUser); MailAddress fromEmailAddress = mail.FromUserName.IsSet() ? new MailAddress(mail.FromUser, mail.FromUserName) : new MailAddress(mail.FromUser); var newMessage = new MailMessage(); mailMessages.Add(newMessage, mail); newMessage.Populate(fromEmailAddress, toEmailAddress, mail.Subject, mail.Body, mail.BodyHtml); } catch (FormatException ex) { // incorrect email format -- delete this message immediately LegacyDb.mail_delete(mail.MailID); this.Logger.Debug("Invalid Email Address: {0}".FormatWith(ex.ToString())); #if (DEBUG) this.Logger.Warn("Invalid Email Address: {0}".FormatWith(ex.ToString()), ex.ToString()); #endif } } }
/// <summary> /// The send. /// </summary> /// <param name="sendMail"> /// The send mail. /// </param> /// <param name="fromAddress"> /// The from address. /// </param> /// <param name="toAddress"> /// The to address. /// </param> /// <param name="subject"> /// The subject. /// </param> /// <param name="bodyText"> /// The body text. /// </param> /// <param name="bodyHtml"> /// The body html. /// </param> public static void Send( [NotNull] this ISendMail sendMail, [NotNull] MailAddress fromAddress, [NotNull] MailAddress toAddress, [CanBeNull] string subject, [CanBeNull] string bodyText, [CanBeNull] string bodyHtml) { CodeContracts.VerifyNotNull(sendMail, "sendMail"); CodeContracts.VerifyNotNull(fromAddress, "fromAddress"); CodeContracts.VerifyNotNull(toAddress, "toAddress"); var mailMessage = new MailMessage(); mailMessage.Populate(fromAddress, toAddress, subject, bodyText, bodyHtml); sendMail.SendAll(new List<MailMessage> { mailMessage }); }