【问题标题】:EWS - Send Email With ConversationId (Not Reply)EWS - 使用 ConversationId 发送电子邮件(不回复)
【发布时间】:2017-09-14 06:37:51
【问题描述】:

我在 EWS 上登录的用户与其他用户之间正在进行对话。我知道对话 ID。我想向对方发送属于同一对话一部分的消息。我想确保消息具有相同的对话 ID。但是,这不是回复。我想发送一封属于同一对话的电子邮件。我如何在 C# 中做到这一点? EmailMessage 的 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;
                    }
                }

这有时有效,但由于某种原因,有时回复不会在我的收件箱中显示为回复。 IE。我的邮件客户端没有将其识别为同一对话的一部分。

我猜发生的事情是服务器上收到的最后一封电子邮件实际上不是来自我发送到的电子邮件地址,因此 Exchange 或我的邮件客户端都没有意识到它是同一对话的一部分即使对话 ID 相同。

【问题讨论】:

    标签: c# email exchange-server exchangewebservices


    【解决方案1】:

    你想用这个来完成什么? “不回复”是什么意思。是转发、新消息还是其他什么?

    据我了解,消息不仅必须具有相同的 conversationId 才能在同一个对话中,而且还必须具有相同的 conversationTopic 和一个似是而非的对话索引(类似于与邮件回复历史的时间戳连接的对话 ID )。 如果你的邮件丢失了,你可以看看这两个属性是否不一致。

    希望对您有所帮助。

    【讨论】:

    • 我想向对方发送属于同一对话一部分的消息。我想确保消息具有相同的会话 ID
    • “据我了解,消息不仅必须具有相同的conversationId才能在同一个对话中,而且还必须具有相同的conversationTopic和一个似是而非的conversationIndex”。我认为情况并非如此。您可以更改电子邮件的主题,如果邮件客户端具有相同的会话 ID,它仍将被视为同一线程的一部分。
    • 你检查过对话索引吗?另请查看此讨论:stackoverflow.com/questions/24490464/…
    • 对话索引是相对于对话ID的。这只是特定消息适合对话的位置。我不确定这有什么帮助,但同一线程的人正在抱怨同样的问题。
    • @MelbourneDeveloper 您找到解决问题的方法了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多