【问题标题】:Outlook MailItem.HTMLBody encodingOutlook MailItem.HTMLBody 编码
【发布时间】:2015-12-26 18:15:22
【问题描述】:

我正在尝试获取 HTML 格式的邮件正文。对于某些邮件,MailItem.HTMLBody 返回带有 ��� 个字符的字符串。

Visual Studio 文本可视化器输出:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<!-- default_css --><style></style><!-- default_css -->

<meta name="description" content="">
<meta name="keywords" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>������ ����������� �� ��������-�������

此邮件的 MailItem.InternetCodepage 返回 1251。Outlook 正确显示邮件。

据我所知,即使我知道原始代码页,这个字符串也无法从加载项代码中修复。我真的很想知道是否有另一种方法可以获取具有指定编码的 HTML 正文。

PR_HTML_BODY 包含&lt;title&gt;������ ������, PR_HTML 包含&lt;title&gt;Ëè÷íîå ïðèãëàøåíè

如果我将邮件保存为文件然后打开它,Outlook 将不再能够对其进行解码。

【问题讨论】:

    标签: vsto office-interop outlook-addin


    【解决方案1】:

    MailItem.HTMLBody 返回一个 Unicode (UTF-16) 字符串,而不是一个 8 字节编码的字符串,因此代码页并不真正适用。

    OutlookSpy(单击 IMessage 按钮)中的 PR_HTML MAPI 属性您看到了什么?

    【讨论】:

    • 我看到我的试用期已过 =( 但是在另一台机器上,这封信的 PR_HTML 是“Ëè÷íîå ïðèãëàøå”。我认为这是可以解码的东西?
    猜你喜欢
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 2016-06-21
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多