我知道如何使用文本格式化程序使用Microsoft Enterprise Library 2.0发送邮件.但这些电子邮件始终是纯文本.有没有办法使用entlib 2.0以HTML格式发送这些邮件?
好吧,这很有趣,我现在正在写自己的答案.
我所做的是使用entlib的源代码.
在Microsoft.Practices.EnterpriseLibrary.Logging和Microsoft.Practices.EnterpriseLibrary.Logging.TraceListenerData中
我找到了我需要的课程.
将EmailMessage.cs复制到EmailMessageHTML.cs
将EmailTraceListener.cs复制到EmailHTMLTraceListener.cs
将EmailTraceListenerData.cs复制到EmailHTMLTraceListenerData.cs
将这些类放在您自己的新库项目中.
在EmailMessageHTML中,更改所有构造函数以匹配新的类名,而不是ADD跟随该方法的行:
protected MailMessage CreateMailMessage() { ..... message.IsBodyHtml = true; ..... return message; }
之后,我不得不在EmailHTMLTraceListener中使用这个新的EmailMessageHTML类(将EmailMessage更改为EmailMessageHTML),并在新的EmailHTMLTraceListenerData.cs文件中使用此EmailHTMLTraceListener.
编译这个新项目,然后在配置中使用它,如下所示(示例)
并添加一个有效的类别来记录这个当然:
当然,您需要一些HTML文档,而不是使用EntLib进行日志记录.我把它作为读者的练习.的确!我现在收到一封很好的HTML电子邮件,用于客户在网站上进行的每次超额预订...