我正在寻找一个示例代码,介绍如何使用托管API转发现有的电子邮件消息(已存在于我的收件箱中)。
转发时是否有某种方法可以在转发时保留邮件原始标题? 例如,某人向我发送了一封电子邮件 - 我希望ews会将其转发给其他收件人,而无需更改标题(原始接收时间,bcc等...)。
答案 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();