私の目標は、メッセージ パラメーター (from、to、body、subject など) を受け取り、.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 が null であることがわかります。Id にはセッターがありません。これは、メッセージがフォルダーに保存されるまで ID を取得できないためだと思いますが、これはできません。
これを回避する方法はありますか?
ありがとう