我正在使用System.Net.Mail.SmtpClient.Send()发送System.Net.Mail.MailMessage对象。 MailMessage对象将IsBodyHtml属性设置为true。我的App.config文件中有以下设置:
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory" >
<specifiedPickupDirectory pickupDirectoryLocation="C:\Pickup"/>
</smtp>
</mailSettings>
</system.net>
生成EML文件时,电子邮件正文中的某些HTML未正确转换。例如:
<img style="width:120px;height:160px;padding-left:2px;" src="http://images.mysite.com/image280.jpg" />
...变为
<img style=3D=
"width:120px;height:160px;padding-left:2px;" src=3D"http://images=
..mysite.com/image280.jpg" />
注意src属性中mysite.com之前的额外时间段。这导致图像链接被破坏而不显示。它似乎是如何以EML格式分解行的错误。我在网上找不到任何关于它的文档。
编辑: 我注意到每当一条线需要在'。'处断开时就会发生这种情况。 (期间)性格。它将两个句点放在下一行而不是一行。
This post似乎相关但不确定它是否能解决我的问题。我是否需要更改代码中的Content-Transfer-Encoding
属性?
答案 0 :(得分:3)
我在解答this post的答案时解决了我的问题。我只是将MailMessage
对象的BodyEncoding属性设置为System.Text.Encoding.UTF8