使用列表邮件时,Outlook 邮件 API 返回拼写检查类名称作为 html 响应的一部分

Posted

技术标签:

【中文标题】使用列表邮件时,Outlook 邮件 API 返回拼写检查类名称作为 html 响应的一部分【英文标题】:Outlook Mail API returns spellcheck class names as part of html response when using List Messages 【发布时间】:2019-04-17 08:30:48 【问题描述】:

我目前正在使用 Outlook 邮件 api 从特定共享文件夹 (List Messages Request) 中检索邮件,当我从查询中获得响应时,我想读取正文内容,在这种情况下,我的标题更喜欢 html

我想要实现的是从 html 响应中替换字符串。

问题出在我的共享电子邮件中,我有这样的东西:

Hello [UserName], further text in mail message, Regards [CompanyName].

我从 api 得到的响应如下所示:

<p class=\"MsoNormal\">Hello [<span class=\"SpellE\">UserName</span>],</p><p class=\"MsoNormal\">&nbsp;</p><p class=\"MsoNormal\">further text in mail message, Regards [CompanyName].</p>

响应显示我的一个字符串放置文本返回了拼写错误,而不是另一个,这并不理想,因为我不想依赖我编写一些代码来检查:

[<span class=\"SpellE\">UserName</span>]

存在与否,主要是因为这可能会在任何给定时间发生变化,这将对系统造成重大变化。

有什么方法可以禁用在 html 中返回的拼写检查?

【问题讨论】:

所有电子邮件都会发生这种情况吗?我怀疑有问题的电子邮件是作为附件从 word 发送的,错误类是 word 的行为,而不是 graph/outlook-api。 是的,这发生在所有电子邮件中,我创建了有问题的电子邮件作为测试 我也遇到了同样的问题,真的很讨厌。似乎_(下划线)和` `(空格)被省略了。我尝试用下划线和空格发送的每封邮件似乎都会发生这种情况。当我尝试重现它时,它会停止发生。 @reportgunner 最后我将我的替换占位符更改为这样的:[用户名]和[公司名称]这样就没有拼写错误,并且响应如我所料,我' 仍然更喜欢禁用拼写检查的方法。 【参考方案1】:

尝试在 Microsoft Outlook 中禁用拼写检查,

文件 -> 选项 -> 邮件 -> 拼写

通过应用程序或通过更改 Windows 注册表中的配置以编程方式。

看看

HKCU\Software\Microsoft\Office\11.0\Outlook\Options\Spelling
HKCU\Software\Microsoft\Shared Tools\Proofing Tools\1.0\Office\OutlookSpellingOptions
HKCU\Software\Microsoft\Spelling

【讨论】:

抱歉,您的意思是“取消勾选Always check spelling before sending”吗? 另外,上述注册表项的值应该是什么? OutlookSpellingOptions 对我来说是 2

以上是关于使用列表邮件时,Outlook 邮件 API 返回拼写检查类名称作为 html 响应的一部分的主要内容,如果未能解决你的问题,请参考以下文章

使用 Zend_mail 时,我的电子邮件似乎被视为垃圾邮件,通过 Outlook 发送而没有?

在outlook中当别人给我回邮件时我怎样才能看到原始邮件?

可以在Outlook电子邮件中插入可折叠列表吗?

在 Outlook 对象模型中哪里可以找到 mailitem 对象的属性值“电子邮件帐户”?

VBA Outlook SendUsingAccount 不返回任何内容

无法使用 JavaMail 读取 Outlook 邮件,而 Gmail 可以工作