2014-10-11 52 views
0

看起來像MailItem.Message.ReplyTo屬性爲只讀屬性。任何人都知道將MailTom.Message中的ReplyTo設置爲新地址的方法?Exchange 2010傳輸代理 - 重寫回復標頭

使用Exchange 2010傳輸代理處理與Exchange 2010通訊組有關的一些dmarc問題。我可以更改From標題併發送我們的DG電子郵件,但是如果可以將ReplyTo標題複製到原始電子郵件地址,我們的收件人將能夠直接回復,而不必複製並粘貼我要添加的原始電子郵件地址電子郵件的正文。

回答

0

嘗試是這樣的(未測試,只是從我的腦海!):

MimeRecipient mmR = null; 
try { mmR = new MimeRecipient("John Doe", "[email protected]");} 
catch { } 


Header hdrReplyTo = null; 
try {hdrReplyTo = Hdrs.FindFirst(HeaderId.ReplyTo);} 
catch {} 
if (null != hdrReplyTo) 
{ 
    try 
    { 
     MimeNode.Enumerator<MimeNode> enum1 = hdrReplyTo.GetEnumerator(); 
     try { enum1.MoveNext(); } 
     catch { } 
     if (null != enum1.Current) 
     { 
      try 
      { 
       //delete old Reply-To    
       Hdrs.RemoveAll(HeaderId.From); 
       //change From header 
       hdrReplyTo.RemoveAll(); 
       hdrReplyTo.AppendChild(mmR); 
       //create a new one 
       Hdrs.AppendChild(hdrReplyTo); 
      } 
      catch { } 
     } 
    } 
    catch { } 
} 
0

即使現在這個問題已經是超過2歲,我會後我的解決方案(因爲我有同樣的問題我自己)。也許它可以幫助有相同問題的人。

MailItem.Message.ReplyTo是隻讀的,這是正確的,但只是因爲它是Microsoft.Exchange.Data.Transport.Email.EmailRecipient類型的集合。

您可以使用remove/clear和add方法修改集合。使用此示例刪除現有的回覆地址並添加一個新地址:

e.MailItem.Message.ReplyTo.Clear(); 
e.MailItem.Message.ReplyTo.Add("[email protected]");