Outlook 中的超链接检测

Hyperlink detection in Outlook

我正在开发一个 Outlook 网络插件,它涉及从邮件消息中提取所有超链接。我目前正在通过获取所有 a 标签元素来做到这一点。

var htmlParser = new DOMParser().parseFromString(asyncResult.value, "text/html");
var urls = htmlParser.getElementsByTagName("a");

但是,我发现 Outlook for PC 将文本显示为超链接,只要它包含 www.,即使该文本并不意味着是超链接。例如,我尝试给自己发一封内容为www.example.com的邮件,我在发送时确保它不是超链接。

在 Outlook 网页版中,文本确实不是超链接。

但是在 Outlook for PC 中,文本自动显示为超链接。由于我没有将它作为超链接发送出去,它没有 a 标签,因此我的插件无法提取这个“超链接”。有没有办法在邮件中也提取这些“超链接”?

您可以将此 Outlook 加载项 - 邮件加载项用于阅读方案,该方案可查找并解析电子邮件正文中的所有链接。这是 documentation/sample @ https://github.com/OfficeDev/Outlook-Add-in-LinkRevealer

您可以使用 getEntitiesByType API 获取邮件正文中标识的任何 URL 实体。示例 API 调用是:

 Office.context.mailbox.item.getEntitiesByType(Office.MailboxEnums.EntityType.Url)