我正在开发一个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
标签,因此我的插件无法提取此“超链接”。有没有办法在邮件中也提取这些“超链接”?
你可以使用getEntitiesByType API来获取邮件正文中标识的所有URL实体。API调用示例为:
Office.context.mailbox.item.getEntitiesByType(Office.MailboxEnums.EntityType.Url)