public void ReplaceHtml(IMimePartReplacer replacer, IDataContext context) { if (mailMessage.Html != null) { mailMessage.Html.Strings = ReplaceStrings(mailMessage.Html.Strings, replacer, context); } }
public void ReplaceTextAttachment(IMimePartReplacer replacer, IDataContext context) { foreach (var attachment in attachments) { if (attachment.Key.ContentType.IndexOf("text/") == 0) { var encoding = Translator.GetEncoding(GetAttachmentCharSet(attachment.Key)); string content; using (var reader = new StreamReader(attachment.Value, encoding, false, 8192, true)) { content = reader.ReadToEnd(); } content = replacer.Replace(content, context); attachment.Value.SetLength(0); using (var writer = new StreamWriter(attachment.Value, encoding, 8192, true)) { writer.Write(content); } attachment.Value.Position = 0; } } }
public void ReplaceText(IMimePartReplacer replacer, IDataContext context) { if (mailMessage.Text != null) { mailMessage.Text.Strings = ReplaceStrings(mailMessage.Text.Strings, replacer, context); } }
private string[] ReplaceStrings(string[] source, IMimePartReplacer replacer, IDataContext context) { if (source == null) { return(null); } var s = string.Join("\r\n", source); s = replacer.Replace(s, context); return(s.Split(new string[] { "\r\n" }, StringSplitOptions.None)); }
public void ReplaceHeader(IMimePartReplacer replacer, IDataContext context) { mailMessage.From.FullAddress = replacer.Replace(mailMessage.From.FullAddress, context); mailMessage.ToList.EmailAddresses = replacer.Replace(mailMessage.ToList.EmailAddresses, context); mailMessage.CcList.EmailAddresses = replacer.Replace(mailMessage.CcList.EmailAddresses, context); mailMessage.BccList.EmailAddresses = replacer.Replace(mailMessage.BccList.EmailAddresses, context); mailMessage.Subject = replacer.Replace(mailMessage.Subject, context); mailMessage.ReplyTo = replacer.Replace(mailMessage.ReplyTo, context); mailMessage.ReadReceiptTo = replacer.Replace(mailMessage.ReadReceiptTo, context); mailMessage.NewsGroups = ReplaceStrings(mailMessage.NewsGroups, replacer, context); mailMessage.References = ReplaceStrings(mailMessage.References, replacer, context); mailMessage.ExtraFields = ReplaceStrings(mailMessage.ExtraFields, replacer, context); }