使用EWS托管api转发电子邮件,保留标头

时间:2011-10-11 21:44:17

标签: exchange-server ews-managed-api

我正在寻找一个示例代码,介绍如何使用托管API转发现有的电子邮件消息(已存在于我的收件箱中)。

转发时是否有某种方法可以在转发时保留邮件原始标题? 例如,某人向我发送了一封电子邮件 - 我希望ews会将其转发给其他收件人,而无需更改标题(原始接收时间,bcc等...)。

1 个答案:

答案 0 :(得分: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("hkrause@infinitec.de");
mail.Subject = "testmail";
mail.SendAndSaveCopy();

编辑:

创建转发消息并设置对标题的回复:

var fw = item.CreateForward();
var fwMsg = fw.Save(WellKnownFolderName.Drafts);
fwMsg.ReplyTo.Add("personA@company.com");
fwMsg.SendAndSaveCopy();