public MailAddressCreateCondition(MailAddress sender, Boolean useFrom, Boolean useSender, Boolean useTo, Boolean useCc) { this.Sender = sender; this.ExcludeSender = false; this.UseFrom = useFrom; this.UseSender = useSender; this.UseTo = useTo; this.UseReplyTo = false; this.UseCc = useCc; this.UseBcc = false; }
private static void SetProperty(MailAddress mailAddress, String value) { MailAddress m = mailAddress; var trimValue = value.Trim(); Int32 displayNameEndIndex = 0; Int32 valueIndex = -1; Int32 valueEndIndex = -1; Int32 atmarkIndex = -1; m.AsciiCharOnly = true; for (int i = 0; i < trimValue.Length; i++) { if ((Byte)trimValue[i] >= 128) { m.AsciiCharOnly = false; } if (trimValue[i] == ' ') { displayNameEndIndex = i; } if (trimValue[i] == '<') { valueIndex = i + 1; } if (trimValue[i] == '@') { atmarkIndex = i; } if (atmarkIndex > -1 && trimValue[i] == '>') { valueEndIndex = i; break; } } if (atmarkIndex == -1) { m.ValidFormat = false; m.RawValue = value; return; } m.ValidFormat = true; if (valueEndIndex == -1) { valueEndIndex = trimValue.Length - 1; } if (valueIndex > -1) { //"Bill Gates" <*****@*****.**> //Bill <*****@*****.**> //<*****@*****.**> m.DisplayName = trimValue.Substring(0, displayNameEndIndex).Trim(); if (m.DisplayName.Length > 1 && m.DisplayName[0] == '"' && m.DisplayName[m.DisplayName.Length - 1] == '"') { m.DisplayName = m.DisplayName.Substring(1, m.DisplayName.Length - 2); } m.Value = trimValue.Substring(valueIndex, valueEndIndex - valueIndex); m.UserName = trimValue.Substring(valueIndex, atmarkIndex - valueIndex); m.DomainName = trimValue.Substring(atmarkIndex + 1, valueEndIndex - atmarkIndex - 1); } else { //[email protected] valueIndex = 0; m.Value = value; m.UserName = trimValue.Substring(valueIndex, atmarkIndex - valueIndex); m.DomainName = trimValue.Substring(atmarkIndex + 1, valueEndIndex - atmarkIndex); } m.RawValue = value; }
public static SmtpMessage Create(System.Net.Mail.MailMessage message, MailAddress sender, SmtpMessageCreateMode mode) { return Create(message, new SmtpMessageCreateCondition(sender, mode, message.IsBodyHtml)); }
public MailAddressCreateCondition(MailAddress sender) : this(sender, false, false, false, false) { }
public static SmtpMessage Create(MailMessage message, MailAddress sender, SmtpMessageCreateMode mode, Boolean isBodyHtml) { return Create(message, new SmtpMessageCreateCondition(sender, mode, isBodyHtml)); }