मैं एक साधारण कंसोल ऐप लिखने की प्रक्रिया में हूं जो एक विशेष एक्सचेंज मेलबॉक्स पर नज़र रखता है, और जब विशेष मानदंडों को पूरा करने वाले ईमेल प्राप्त होते हैं, तो ऐप एक एक्सएमएल फाइल अटैचमेंट डाउनलोड करेगा, और ईमेल संग्रहित करें।एक्सचेंज वेब सर्विसेज - प्रसंस्करण संदेश और अटैचमेंट एक्सेसिंग
मैंने ईडब्ल्यूएस ओके से कनेक्ट किया है, और किसी भी ईमेल के माध्यम से लूप करने में सक्षम हूं, लेकिन जब मैं एक ईमेल मैसेज ऑब्जेक्ट बनाने की बात करता हूं तो मैं संघर्ष कर रहा हूं जिसे मैं अनुलग्नकों तक पहुंचने के लिए उपयोग कर सकता हूं।
नीचे दिए गए उदाहरण कोड में, EmailMessage message = EmailMessage.Bind(...)
लाइन त्रुटि के बिना निष्पादित करता है, लेकिन जब मैं एक्सेस और गुण या विधियों को एक्सेस करता हूं तो एक वैध संदेश नहीं लौटाता है, मुझे एक त्रुटि मिलती है: 'ऑब्जेक्ट संदर्भ किसी ऑब्जेक्ट के उदाहरण पर सेट नहीं होता है '।
मैं सी # अकेला EWS देती हैं, ताकि मुझे पता है कि जहां शुरू करने के लिए संघर्ष कर रहा हूँ करने के लिए नए हूँ ...
कोड स्निपेट:
public static void FindItems()
{
try
{
ItemView view = new ItemView(10);
view.OrderBy.Add(ItemSchema.DateTimeReceived, SortDirection.Ascending);
view.PropertySet = new PropertySet(
BasePropertySet.IdOnly,
ItemSchema.Subject,
ItemSchema.DateTimeReceived);
findResults = service.FindItems(
WellKnownFolderName.Inbox,
new SearchFilter.SearchFilterCollection(
LogicalOperator.Or,
new SearchFilter.ContainsSubstring(ItemSchema.Subject, "Sales Enquiry")),
view);
log2.LogInfo("Total number of items found: " + findResults.TotalCount.ToString());
foreach (Item item in findResults)
{
log2.LogInfo(item.Id);
EmailMessage message = EmailMessage.Bind(service, item.Id, new PropertySet(BasePropertySet.IdOnly, ItemSchema.Attachments));
Console.WriteLine(message.Subject.ToString());
if (message.HasAttachments && message.Attachments[0] is FileAttachment)
{
FileAttachment fileAttachment = message.Attachments[0] as FileAttachment;
fileAttachment.Load("C:\\temp\\" + fileAttachment.Name);
fileAttachment.Load();
Console.WriteLine("FileName: " + fileAttachment.FileName);
}
}
}
catch (Exception ex)
{
log2.LogError(ex.InnerException);
}
}
संलग्नक तक पहुँचने के लिए मेरे कोड MSDN से सीधे है तो मुझे आशा है कि यह वहाँ है ... कोई विचार?
मुझे नहीं लगता कि आप विषय पंक्ति को प्रिंट करने में सक्षम होंगे क्योंकि आपकी संपत्ति सेट में विषय शामिल नहीं है। आप उस कोड के साथ एक्सचेंज से क्या लौटा रहे हैं? क्या ईमेल संदेश वस्तु मान्य है? निम्नलिखित मदद कर सकता है: http: //social.technet.microsoft.com/Forums/en/exchangesvrdevelopment/thread/1d7d0be3-1e48-43c4-b2df-f6fa5c7bf254 आप बाध्य करने के लिए आइटम के माध्यम से लूप की जरूरत नहीं है - LoadPropertiesForItems आज़माएं और देखें कि क्या यह काम करता है – Chris