public string PrepareSubject(Email email) { string EmailTemplate = email.Template; BaseMailTemplate bst = (BaseMailTemplate)this._mailTemplateSettings.Value.GetTemplateByName(EmailTemplate); return(bst.Subject); }
} // End Function GetAlternativeView public void SendMail(BaseMailTemplate mt, System.Data.DataRow dr) { if (OnStart != null) { OnStart(this.m_mailSettings, mt, System.DateTime.Now, null); } try { using (System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage()) { mail.HeadersEncoding = System.Text.Encoding.UTF8; mail.SubjectEncoding = System.Text.Encoding.UTF8; mail.Subject = mt.Subject; mail.BodyEncoding = System.Text.Encoding.UTF8; mail.BodyTransferEncoding = System.Net.Mime.TransferEncoding.Base64; mail.IsBodyHtml = true; mail.Body = mt.TemplateString; System.Text.StringBuilder sb = mt.TemplateStringBuilder; if (dr != null) { foreach (System.Data.DataColumn dc in dr.Table.Columns) { string value = System.Convert.ToString(dr[dc.ColumnName], System.Globalization.CultureInfo.InvariantCulture); value = System.Web.HttpUtility.HtmlEncode(value); sb.Replace("{@" + dc.ColumnName + "}", value); } // Next dc } // if (dr != null) mail.Body = sb.ToString(); sb.Clear(); sb = null; if (mt.EmbeddedImages.Count > 0) { mail.AlternateViews.Add(GetAlternativeView(mail.Body, mt.EmbeddedImages)); } foreach (Resource thisAttachment in mt.AttachmentFiles) { mail.Attachments.Add( new System.Net.Mail.Attachment( thisAttachment.Stream , thisAttachment.FileName , thisAttachment.ContentType ) ); } // Next i mail.From = new System.Net.Mail.MailAddress(mt.From, mt.FromName); mail.To.Add(new System.Net.Mail.MailAddress(mt.To, mt.ToName)); mail.Priority = (System.Net.Mail.MailPriority)mt.Priority; if (!string.IsNullOrEmpty(mt.ReplyTo)) { mail.ReplyToList.Add(new System.Net.Mail.MailAddress(mt.ReplyTo, mt.ReplyToName)); } if (!string.IsNullOrEmpty(mt.CC)) { mail.CC.Add(new System.Net.Mail.MailAddress(mt.CC, mt.CCName)); } if (!string.IsNullOrEmpty(mt.Bcc)) { mail.Bcc.Add(new System.Net.Mail.MailAddress(mt.Bcc, mt.BccName)); } if (!string.IsNullOrEmpty(mt.ReplyTo)) { mail.ReplyToList.Add(new System.Net.Mail.MailAddress(mt.ReplyTo, mt.ReplyToName)); } Send(mail); if (OnSuccess != null) { OnSuccess(this.m_mailSettings, mt, System.DateTime.Now, null); } } // End Using mail } // End Try catch (System.Exception ex) { if (OnError != null) { OnError(this.m_mailSettings, mt, System.DateTime.Now, ex); } do { System.Console.Write("Fehler: "); System.Console.WriteLine(ex.Message); System.Console.WriteLine("Stacktrace: "); System.Console.WriteLine(ex.StackTrace); System.Console.WriteLine(System.Environment.NewLine); ex = ex.InnerException; } while (ex != null); } // End Catch if (OnDone != null) { OnDone(this.m_mailSettings, mt, System.DateTime.Now, null); } } // End Sub SendMail
} // End Sub SendMail void IMailService.SendMail(BaseMailTemplate template, System.Data.DataRow dr) { this.SendMail(template, dr); } // End Sub IMailService.SendMail