2012-11-01 37 views
5

मेरे कोड के लिए, मैं एक्सचेंज से एक अपठित संदेश पुनर्प्राप्त करता हूं, उस संदेश के आधार पर कुछ प्रसंस्करण करता हूं, और फिर संदेश के जवाब के साथ संदेश का जवाब देता हूं प्रसंस्करण मैंने किया था।एक्सचेंज वेब सेवाओं का उपयोग करके एक उत्तर ईमेल भेजना - परिवर्तन से निपटने के लिए कैसे करें

समस्या यह है कि मैं आ रही है कि जब मैं 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 मूल्य की जाँच कर सकती हूं और वहां एक मूल्य है, मुझे लगता है कि हो जाने की उम्मीद है | प्रतिक्रिया के लिए सौंपा गया जब memailMessage.createReply() ca था डालूँगा। मैं इसे मैन्युअल रूप से असाइन करने का कोई तरीका नहीं ढूंढ पा रहा हूं।

मैं खोज के दौरान इस समस्या का कोई भी संदर्भ खोजने में असमर्थ किया गया है, मुझे उम्मीद थी किसी

उत्तर

5

मैं .Forward के साथ इस समस्या में पड़ गए, करने के लिए संदेश IsRead = सच स्थापित करने और वापस कि अद्यतन सहेजने के बाद सर्वर। इससे चेंजकी बदलती है, इसलिए यह अब मान्य नहीं है।

सर्वर से संदेश प्राप्त करने के लिए _emailMessage.Load() करने का प्रयास करें, और नया ChangeKey।

+0

धन्यवाद, यह त्रुटि तब हुई जब मैं 2007 से 2013 को निकालने से आगे बढ़ गया, तो अब 2013 के लिए एक आवश्यकता होनी चाहिए? – nickand