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

我遇到的问题是,当我尝试回复电子邮件时,在调用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。我找不到手动分配它的方法。

我在搜索过程中找不到任何与此问题相关的参考,我希望有人

最佳答案

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

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

08-25 13:04