Search code examples
outlookoutlook-addinoffice-addinsoutlook-web-addins

Hyperlink detection in Outlook


I am developing an Outlook web addins that involves extracting all hyperlinks from the mail message. I am currently doing it by getting all a tag elements.

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

However, I found out that Outlook for PC displays text as a hyperlink as long as it contains www., even though the text is not meant to be a hyperlink. For example, I tried sending myself an email with www.example.com as the content and I ensured that it is not a hyperlink when I sent it out.

enter image description here

In Outlook on the web, the text is indeed not a hyperlink.

enter image description here

But then in Outlook for PC, the text was displayed as a hyperlink automatically. Since I did not send it out as a hyperlink, it does not have an a tag and hence my addin could not extract this "hyperlink". Is there a way to also extract these "hyperlinks" in a mail message?

enter image description here


Solution

  • You could use the getEntitiesByType API to get any URL entities identified in the mail body. A sample API call is:

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