使用列表邮件时,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\"> </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 对象模型中哪里可以找到 mailitem 对象的属性值“电子邮件帐户”?