加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何使用Microsoft Enterprise Library以HTML格式发送电子邮件?

发布时间:2020-12-14 04:25:13 所属栏目:Windows 来源:网络整理
导读:我知道如何使用文本格式化程序使用Microsoft Enterprise Library 2.0发送邮件.但这些电子邮件始终是纯文本.有没有办法使用entlib 2.0以 HTML格式发送这些邮件? 好吧,这很有趣,我现在正在写自己的答案. 我所做的是使用entlib的源代码. 内 Microsoft.Practice
我知道如何使用文本格式化程序使用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.

编译这个新项目,然后在配置中使用它,如下所示(示例)

<loggingConfiguration 
name="Logging Application Block" 
tracingEnabled="true" 
defaultCategory="" 
logWarningsWhenNoCategoriesMatch="true">
    <listeners>
        <add toAddress="your@emailgoes.here"          
         fromAddress="yourserveraddress@goes.here" 
         subjectLineStarter="" 
         subjectLineEnder="My HTMLemailLogger" 
         smtpServer="localhost" smtpPort="25" 
         formatter="Text Formatter"                        
         listenerDataType="MYLibrary.HTMLEmailLogger.EmailHTMLTraceListenerData,MYLibrary.HTMLEmailLogger,Version=2.0.0.0,Culture=neutral,PublicKeyToken=null" 
        traceOutputOptions="None" 
        type="MYLibrary.HTMLEmailLogger.EmailHTMLTraceListener,PublicKeyToken=null" 
        name="EmailHTML TraceListener"/>
    </listeners>
</loggingConfiguration>

并添加一个有效的类别来记录这个当然:

<add switchValue="All" name="OutOfBalanceBooking">
    <listeners>
        <add name="Database Trace Listener"/>
        <add name="EmailHTML TraceListener"/>
    </listeners>
</add>

当然,您需要一些HTML文档,而不是使用EntLib进行日志记录.我将其作为练习留给读者.的确!我现在收到一封很好的HTML电子邮件,用于客户在网站上进行的每次超额预订…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读