C#VSTO Outlook 2016:修改图像

时间:2017-05-10 22:59:19

标签: c# email hyperlink outlook

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

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

使用VSTO,我在电子邮件主题中提取真实的SR号码,并用SR号码替换超链接中的“000000000”。我想出了如何使用正则表达式从主题中提取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#,以便我的Web服务器可以在用户反馈中使用它。

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

谢谢你, 丹

1 个答案:

答案 0 :(得分:0)

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

{{1}}

修复了问题。