【发布时间】:2014-04-18 23:06:29
【问题描述】:
我的目标是获取消息参数(发件人、收件人、正文、主题等)并创建一个 .eml 文件。
我目前正在使用 EWS 托管 API(尽管我愿意接受其他建议)来创建 EmailMessage 对象。我不想将消息保存到邮箱或发送它(这是不可能的,因为我正在使用的应用程序帐户由于安全策略而无权访问任何邮箱),我想创建一个 .eml 文件。
我改编了从另一个看起来很有希望的答案中找到的一些代码:
EmailMessage message = new EmailMessage(service);
//message initialization code
//...
using (FileStream fs = File.Open(@"message.eml", FileMode.Create, FileAccess.Write))
{
message.Load(new PropertySet(ItemSchema.MimeContent));
var mc = message.MimeContent;
fs.Write(mc.Content, 0, mc.Content.Length);
}
但我在 message.Load() 上遇到异常,提示“无法执行此操作,因为此服务对象没有 Id。”通过一点调试,我基本上看到 message.Id 为空。 Id 没有设置器。我相信这是因为消息在保存到文件夹之前不会获得 ID,而我无法做到这一点。
有什么办法可以解决这个问题吗?
谢谢
【问题讨论】:
标签: c# exchangewebservices eml