gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 14:13:59 37 4
gpt4 key购买 nike

我知道如何使用文本格式化程序使用 Microsoft Enterprise Library 2.0 发送邮件。但这些电子邮件始终是纯文本格式。 entlib 2.0 有没有办法以 HTML 格式发送这些邮件?

最佳答案

这很有趣,我现在正在写我自己的答案。

我所做的是使用entlib的源代码。

在Microsoft.Practices.EnterpriseLibrary.Logging 和Microsoft.Practices.EnterpriseLibrary.Logging.TraceListenerData

我找到了我需要的类(class)。

  • 将EmailMessage.cs复制到EmailMessageHTML.cs
  • 将EmailTraceListener.cs 复制到EmailHTMLTraceListener.cs
  • 将 EmailTraceListenerData.cs 复制到 EmailHTMLTraceListenerData.cs

将这些类放入您自己的新图书馆项目中。

在 EmailMessageHTML 中更改所有构造函数以匹配新的类名,然后将以下行添加到方法中:

    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,
MYLibrary.HTMLEmailLogger,
Version=2.0.0.0,
Culture=neutral,
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 电子邮件...

关于html - 如何使用 Microsoft Enterprise Library 发送 HTML 格式的电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/198805/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com