Warm tip: This article is reproduced from serverfault.com, please click

其他-Outlook中的超链接检测

(其他 - Hyperlink detection in Outlook)

发布于 2020-11-30 05:10:17

我正在开发一个Outlook Web加载项,其中涉及从邮件中提取所有超链接。我目前正在通过获取所有a标签元素来做到这一点

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

但是,我发现Outlook for PC只要包含www.就将文本显示为超链接,即使该文本并非是超链接也是如此。例如,我尝试向自己发送一封电子邮件www.example.com作为内容,并确保在发送时它不是超链接。

在此处输入图片说明

在Web上的Outlook中,文本确实不是超链接。

在此处输入图片说明

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

在此处输入图片说明

Questioner
lhy
Viewed
11
Outlook Add-ins Team - MSFT 2020-12-16 07:37:13

你可以使用getEntitiesByType API来获取邮件正文中标识的所有URL实体。API调用示例为:

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