3 回答

TA贡献1820条经验 获得超2个赞
我认为对此的解释相当简单。
在第一种情况下,您在对象中明确设置isBodyHtml
为 true 。MailMessage
然后将MailMessage
对象传递给Send()
方法。因此,它会根据您的指示将电子邮件格式化为 HTML。
在第二种情况下,您无法告诉系统电子邮件的格式。纯文本通常是默认格式,因此在没有任何其他说明的情况下,我希望它会使用这种格式。
NB You claim isBodyHTML
was set to true 在这两种情况下,但这没有任何意义。在第二种情况下,您没有将MailMessage
对象传递给方法...该IsBodyHtml
属性属于MailMessage
. 那么,您还可以如何以及在哪里设置这样的值?
在第二种情况下,该方法获取的唯一值是Send()
四个字符串(from
、to
和)。它不会收到有关电子邮件的任何其他信息。该属性从未使用过,因为它是 un-used 的一部分。subject
body
isBodyHTML
MailMessage

TA贡献1872条经验 获得超3个赞
IsBodyHTML
因为按照您的方式使用 Send 函数时,没有指定set 为 true 。我认为IsBodyHTML
是在MailMessage
对象内。
我不完全确定IsBodyHTML
body 中设置了什么,但它可能会创建完整格式的 HTML (< html><head><body>etc....
),所以不妨试试看。

TA贡献1811条经验 获得超6个赞
在内部对您不起作用的过载看起来或多或少像这样
MailMessage mailMessage = new MailMessage(from, recipients, subject, body); Send(mailMessage);
它创建一个 MailMessage 实例,不设置 IsBodyHtml 并调用其他重载。IsBodyHtml 控制用于邮件正文 MimePart 的 MediaType,如果未设置 IsBodyHtml,将使用 PlainText 代替 Html MimePart。设置 IsBodyHtml 不会以任何方式更改 Body 属性的内容,因此您必须使用 MailMessage 的重载,以便您可以显式设置 IsBodyHtml。
- 3 回答
- 0 关注
- 130 浏览
添加回答
举报