URL中包含点(。)的电子邮件正文被两个点替换

时间:2017-12-07 11:46:46

标签: asp.net .net encoding outlook mailmessage

我编写了代码来从我的.NET应用程序发送电子邮件。应用程序成功发送电子邮件电子邮件包含锚标记内的多个超链接。但是,如果我尝试在Outlook客户端中打开电子邮件,它会将单个点转换为URL中的两个点。我分析了模式,只有当URL中的点字符是outlook电子邮件中新行的第一个字符时,才能看到它发生。 Outlook会自动设置行,因此我无法控制它。

在形成正文内容时,我将MailMessage对象的“BodyEncoding”属性设置为System.Text.Encoding.UTF8,但这对输出没有影响。

有人可以帮助解决可能的原因,以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

当我尝试使用web.config文件将邮件保存在Directory中时,我也遇到了类似的问题。

<system.net>
    <mailSettings>
      <smtp deliveryMethod="SpecifiedPickupDirectory">
        <specifiedPickupDirectory pickupDirectoryLocation="c:\TestMails\"/>
      </smtp>
    </mailSettings>
  </system.net>

将邮件直接发送到邮件地址后,此问题已解决。