【问题标题】:C# VSTO Outlook 2016: Modify hyperlink embedded in imageC# VSTO Outlook 2016:修改图像中嵌入的超链接
【发布时间】:2017-10-09 18:42:02
【问题描述】:

作为实时情感项目的一部分,我有一个前景签名,它由快乐、悲伤和中性的脸组成,每个脸都有一个与之关联的嵌入式超链接(这是在签名功能中完成的) Outlook)。

“快乐”超链接示例如下所示:http://x.x.x.x/happy?sr=000000000

使用 VSTO,我提取了电子邮件主题中的真实 SR 编号,并将超链接中的“000000000”替换为 SR 编号。我想出了如何使用正则表达式从主题中提取 SR 编号,但是当我尝试替换 mail.Body(mail.Body.Replace)中的“000000000”时,它可以工作,但我丢失了图表(即快乐/悲伤/中性面孔)。所以我在发送的电子邮件中看到的只有 3 个超链接。

我的代码如下所示:

Regex regex = new Regex(@"(^|\D)(\d{9})($|\D)");
if (mail != null)
{
    Match m = regex.Match(mail.Subject);
    if (m.Success)
    {
         Group g = m.Groups[0];
         mail.Subject += " !!Found " + g + "  in subject.";
         mail.Body.Replace("000000000", g.ToString());
    }
    ...

我希望能够在超链接中传递 SR #,以便我的网络服务器可以在用户反馈中使用它。

我的问题是如何替换超链接中的 000000000 而不会丢失我签名的图形部分(快乐、悲伤、中性的面孔)?

谢谢你, 丹

【问题讨论】:

    标签: c# email hyperlink outlook


    【解决方案1】:

    这个新手没有意识到 C# 没有进行就地替换:(

    mail.HTMLBody = mail.HTMLBody.Replace("000000000", g.ToString());
    

    解决了问题。

    【讨论】:

      猜你喜欢
      • 2011-10-25
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 2021-07-14
      • 1970-01-01
      • 2016-10-30
      相关资源
      最近更新 更多