6

对于我的代码,我从 Exchange 中检索一条未读消息,根据该消息进行一些处理,然后用我所做的处理结果回复该消息。

我遇到的问题是,当我尝试回复电子邮件时,我在调用 responseMessage.send() 或 responseMessage.sendAndSave() 时收到以下错误:

The current ChangeKey is required for this operation.

以下是我正在运行的触发此错误的代码:

public void replyToEmail(EmailMessage _emailMessage, String _reply)
    {

        String serviceManager = emailServerAddress = ConfigurationSettings.AppSettings["serviceManagerEmail"].Trim();
        ResponseMessage responseMessage = _emailMessage.CreateReply(true);
        responseMessage.BodyPrefix = _reply;

        String changekey = _emailMessage.Id.ChangeKey;

        if (!serviceManager.Equals(""))
        {
            responseMessage.CcRecipients.Add(new EmailAddress(serviceManager));
        }

        responseMessage.Send();
    }

我可以通过 _emailMessage.id.Changekey 检查 _emailMessage changeKey 值,并且那里有一个值,我希望在调用 _emailMessage.createReply() 时将其分配给 responseMessage。我无法找到手动分配它的方法。

我在搜索过程中找不到任何关于这个问题的参考资料,我希望有人

4

1 回答 1

7

在设置消息 IsRead = true 并将该更新保存回服务器之后,我遇到了 .Forward 的这个问题。这会更改 ChangeKey,因此它不再有效。

尝试执行 _emailMessage.Load() 以再次从服务器获取消息以及新的 ChangeKey。

于 2014-02-13T18:29:41.113 回答