私はEWS上でログインしているユーザーと他のユーザーとの間で会話を続けています。私は会話のIDを知っている。他の人に同じ会話の一部であるメッセージを送りたい。メッセージに同じ会話IDが付いていることを確認したい。しかし、これはではなく、です。同じ会話の一部である新しいのメールを送信します。私はC#でこれをどうやって行うのですか? EmailMessageのConversationIdプロパティは読み取り専用です。EWS - ConversationIdで電子メールを送信する(返信しない)
この記事では役に立たないのである: https://msdn.microsoft.com/en-us/library/office/dn610351(v=exchg.150).aspx
また、私は実際にサーバからの会話から最新の電子メールを取得し、このコードであることを利用して返信することができます:
var latestConversationNode = _ExchangeService.GetConversationItems(conversationId, new PropertySet { ItemSchema.Id, ItemSchema.ConversationId }, null, null, ConversationSortOrder.DateOrderDescending).ConversationNodes.FirstOrDefault();
if (latestConversationNode != null)
{
var latestEmailInConversation = latestConversationNode.Items.FirstOrDefault() as EmailMessage;
if (latestEmailInConversation != null)
{
var replyMessage = latestEmailInConversation.CreateReply(false);
replyMessage.Body = body;
replyMessage.Subject = subject;
foreach (var toRecipient in toRecipients)
{
replyMessage.ToRecipients.Add(toRecipient);
}
replyMessage.SendAndSaveCopy();
return;
}
}
これは時々動作します何らかの理由で返信が受信トレイに返信として表示されないことがあります。私。私のメールクライアントはそれを同じ会話の一部として認識しません。
私は、サーバーで受信した最後の電子メールが、実際に私が送信している電子メールアドレスではないため、Exchangeまたはメールクライアントのどちらかが、会話IDが同じであっても、会話は可能です。
私は、同じ会話の一部であるメッセージを相手に送信したいと思います。メッセージに同じ会話があることを確認したいId –
「私の理解では、メッセージは同じ会話に同じ会話IDを持たねばならず、同じ会話を持っていなければなりません」トピックとその可能性のあるconversationIndex。私はこれが当てはまるとは思わない。電子メールの件名を変更することができます。同じ会話IDを持つメールクライアントが同じスレッドの一部であるとみなされます。 –
conversationIndexをチェックしましたか? また、このディスカッションを確認してください:https://stackoverflow.com/questions/24490464/conversationid-property-vs-conversationindex-property-in-exchange-web-services-m – David