对于我的代码,我从交换中检索一条未读的消息,根据该消息进行一些处理,然后用处理的结果回复该消息。
我遇到的问题是,当我尝试回复电子邮件时,在调用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。