我使用 Microsoft.Office.Interop.Outlook、VB.net 和 Office 2013 生成 MailItem,然后将该项目发送到 Outlook,显示电子邮件窗口并让用户从 Outlook 2013 编辑/发送它。我正在做的主要事情是:
我创建 Microsoft.Office.Interop.Outlook.MailItem 对象并用相关信息填充它,我为正文生成一个 HTML 常量,如下所示
Private Const mstrHTML_FORMAT As String = "<html><p style='font-size:10pt;font-family:Arial;'>{0}</p></html>"
然后我将想要的文本添加到字符串变量 strBody 中,并使用 String.Format 将文本插入到对象的 HTMLBody 中:
objMailItem.HTMLBody = String.Format(mstrHTML_FORMAT, strBody)
我还将正文的格式更改为 HTML:
objMailItem.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML
经过其他几个步骤后,我将其发送到视图
objMailItem.Display(True)
我的问题是,当用户发送电子邮件时,收件人会看到电子邮件有一条主题为文本的消息
有任何关于为什么会发生这种情况的线索吗?
这是 Outlook 的一项“功能”。当正文不够长,无法填充预览时,Outlook 会特意在邮件预览中显示
<end>
。
这不是由您的代码或任何错误的 HTML 格式引起的。