【问题标题】:how to get url from outlook addin mailitem body html如何从outlook addin mailitem body html中获取url
【发布时间】:2014-02-07 16:34:14
【问题描述】:

首先,如何获取html消息体, 然后在正文中,我需要获取 URL 链接、其超链接、文本和 URL 的域名。

【问题讨论】:

    标签: c# outlook add-in


    【解决方案1】:

    好吧,Mailitem.HTMLBody 有电子邮件项目的 HTML 标记,所以要访问它:

    using Outlook = Microsoft.Office.Interop.Outlook;
    //---
    Outlook.Application outlookApplication = new Outlook.Application();
    Outlook.MailItem mailitem = (Outlook.MailItem)outlookApplication.ActiveInspector().CurrentItem;
    string myhtml = mailitem.HTMLBody;
    

    然后你需要解析出链接。假设它们实际上被编码为锚标签,您可以使用如下的正则表达式作为起点:

    var matches = Regex.Matches(myhtml, @"<a\shref=""(?<url>.*?)"">(?<text>.*?)</a>");
    foreach (Match m in matches)
    {
        Console.WriteLine("URL: " + m.Groups["url"].Value + " -- Text = " + m.Groups["text"].Value);
    }
    

    以上是正则表达式来自这个MSDN question

    最后,要获取域名,您可以修改上面的正则表达式,或者创建一个URI 来为您完成这项工作。

    【讨论】:

    • Outlook.MailItem 邮件 = 作为 Outlook.MailItem 的项目; if (mail != null) { mail.body },有没有办法检查OutlookMailItem对象邮件的mail.body项中的url。
    猜你喜欢
    • 2012-02-28
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2014-08-28
    • 2017-04-26
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    相关资源
    最近更新 更多