2011-10-11 53 views
2

我正在尋找關於如何使用託管API轉發現有電子郵件(已在我的收件箱中)的示例代碼。使用EWS託管API轉發電子郵件保留標題

轉發時是否有某種方法可以在轉發消息時保留消息的原始標題? 例如有人向我發送了一封電子郵件-i希望這個ews將它轉發給另一個收件人而不更改標題(原始收件人時間,密件抄送等)。

回答

7

給定一個EmailMessage對象,你可以調用CreateForwareMessage()方法:

var forwareMessage = item.CreateForward(); 

至於其他問題:獲取郵件的MIME內容並將其附加到一個新的消息:

item.Load(new PropertySet(BasePropertySet.IdOnly, ItemSchema.MimeContent)); 
var mail = new EmailMessage(service); 
var attachment = mail.Attachments.AddFileAttachment("Original message.eml", item.MimeContent.Content); 
attachment.ContentType = string.Format("message/rfc822; charset={0}", item.MimeContent.CharacterSet); 
mail.ToRecipients.Add("[email protected]"); 
mail.Subject = "testmail"; 
mail.SendAndSaveCopy(); 

編輯:

創建轉發消息,並設置回覆到標題:

var fw = item.CreateForward(); 
var fwMsg = fw.Save(WellKnownFolderName.Drafts); 
fwMsg.ReplyTo.Add("[email protected]"); 
fwMsg.SendAndSaveCopy(); 
+0

感謝hening,我正在尋找一種方式,獲取轉發郵件的用戶可以對轉發郵件的原始發件人做出回覆。 – kobi

+0

你的意思是你將來自A人的郵件轉發給B人到C人,C人應該能夠回覆A人?那麼,您可以通過讓B人創建一封新郵件並附上舊郵件來做到這一點,就像我在示例中所做的那樣。否則,創建一個轉發消息並將答覆頭設置爲Person A.請參閱我的第三個示例。 –

+0

感謝Henning,我正在考慮更簡單的案例。讓我告訴你所有的情況它會容易得多 - 爲此開發一個自定義代碼:人a是他收到的電子郵件代碼將電子郵件作爲原樣並將其轉發給人員b人員b應該看到電子郵件,就像它被直接發送給他 - 所以他可以對發送給收件人a的郵件中的相同收件人進行回覆。這裏關鍵的是,人員b應該能夠將消息回覆給相同的收件人,就好像他是收件人一樣。 – kobi

相關問題