2010-02-17 21 views
30

मैं सोच रहा था कि क्या किसी को पता था कि ईमेल हेडर में थ्रेड-इंडेक्स फ़ील्ड कैसे काम करता है?ईमेल हेडर फ़ील्ड 'थ्रेड-इंडेक्स' कैसे काम करता है?

यहां ईमेल थ्रेड इंडेक्स की एक साधारण श्रृंखला है जिसे मैंने स्वयं के साथ मैसेज किया है।

Email 1 Thread-Index: AcqvbpKt7QRrdlwaRBKmERImIT9IDg== 
Email 2 Thread-Index: AcqvbpjOf+21hsPgR4qZeVu9O988Eg== 
Email 3 Thread-Index: Acqvbp3C811djHLbQ9eTGDmyBL925w== 
Email 4 Thread-Index: AcqvbqMuifoc5OztR7ei1BLNqFSVvw== 
Email 5 Thread-Index: AcqvbqfdWWuz4UwLS7arQJX7/XeUvg== 

मैं निश्चित रूप से यह नहीं कह सकता कि मैं इन ईमेल को एक साथ कैसे जोड़ सकता हूं। आम तौर पर, मैं इन-जवाब-क्षेत्र या संदर्भ फ़ील्ड का उपयोग करता हूं, लेकिन मुझे हाल ही में पता चला है कि ब्लैकबेरी इन क्षेत्रों को शामिल नहीं करते हैं। केवल थ्रेड-इंडेक्स फ़ील्ड शामिल है।

+4

यदि आप संदेश थ्रेडिंग को कार्यान्वित करने के तरीके की तलाश में हैं, तो यह बहुत उपयोगी है: http://www.jwz.org/doc/threading.html – deepwell

+0

मेरा अनुभव ईएमएल के साथ है क्योंकि उनके पास वार्तालाप इंडेक्स नहीं है एमएसजी। मैंने लगभग 20,000 किया और यदि पहले 32 वर्ण मिलान हुए तो वे एक ही ईमेल श्रृंखला में दिखाई दिए। – Paparazzi

उत्तर

4

मुझे आश्चर्य नहीं होगा अगर वहाँ मेल क्लाइंट हैं जो ब्लैकबेरी के मेल को उनके धागे से जोड़ने में सक्षम नहीं होंगे। Thread-Index हेडर एक माइक्रोसॉफ्ट एक्सटेंशन प्रतीत होता है।

किसी भी तरह से, नोवेल इवोल्यूशन इसे लागू करता है। this short description पर एक नज़र डालें, या this piece of code जो किसी दिए गए संदेश के थ्रेड पेरेंट को पाता है।

मुझे लगता है कि, क्योंकि आपके उदाहरण में Thread-Index शीर्षलेखों की लंबाई सभी समान हैं, ये संदेश सभी धागे शुरू हो गए थे? अजीब बात यह है कि वे केवल 22-बाइट हैं, हालांकि मुझे लगता है कि आप उन्हें 5-बाइट-प्रति-संदेश नियम लागू करने का प्रयास कर सकते हैं और देख सकते हैं कि यह आपके लिए काम करता है या नहीं।

+1

ऐसा प्रतीत होता है कि गैर-दृष्टिकोण ईमेल क्लाइंट थ्रेड-इंडेक्स को सही तरीके से संभाल नहीं पाते हैं। उपरोक्त थ्रेड-इंडेक्स थंडरबर्ड से हैं। मैंने दृष्टिकोण के साथ जांच की, और यह आपके द्वारा बताए गए नियम का पालन करता है। काफी परेशान – Tim

+1

आउटलुक द्वारा जेनरेट किए गए थ्रेड-इंडेक्स हेडर का एक समूह देखने से, मुझे यह महसूस हो रहा है कि लिंक किया गया विवरण थोड़ा गलत है: थ्रेड स्टार्टर्स में 22-बाइट डीकोडेड थ्रेड-इंडेक्स है, 27 नहीं। – dkarp

+1

यहां एक संबंधित बग है मोज़िला (थंडरबर्ड) बगट्रैकर: https://bugzilla.mozilla.org/show_bug.cgi?id=331207 – guettli

19

वहाँ कैसे वास्तव में इस गैर मानक "थ्रेड-सूचकांक" शीर्षक this post में, प्रयोग की जाने वाली और लिंक, उधर से this pdf जो एक भी शामिल है (एक कागज CEAS 2006 सम्मेलन में प्रस्तुत किया) और this follow-up, सहित प्रकट होता है का एक अच्छा विश्लेषण है evolution स्रोत कोड से इस मुद्दे पर टिप्पणी करें (जो इस अनियंत्रित शीर्षलेख के पर्याप्त रिवर्स-इंजीनियरिंग को प्रतिबिंबित करता है)।

कार्यकारी सारांश: अनिवार्य रूप से, लेखक अंत में इस शीर्ष लेख का उपयोग करने पर देता है और सिफारिश की गई है और पता चलता है एक अलग दृष्टिकोण है, जो भी c-client पुस्तकालय में कार्यान्वित किया जाता है, UW IMAP Toolkit खुला स्रोत पैकेज का हिस्सा (जो IMAP के लिए नहीं है केवल - नाम को मूर्ख मत बनो, यह पीओपी, एनएनटीपी, स्थानीय मेलबॉक्स, & सी के लिए भी काम करता है)।

+1

एक नए [टिप्पणी] के अनुसार (http://blog.postmaster.gr/2007/12/11/trying- टू-मेक-यूज-आउट-ऑब्जेक्ट्स-थ्रेड-इंडेक्स-हेडर/# टिप्पणी -46307) मेरे ब्लॉग पोस्ट पर छोड़ा गया है कि आपने _ "यह एक ओएलई टाइमस्टैम्प (22 बाइट्स) है, जो टाइडेडिफ (5 बाइट्स) के साथ जोड़ा गया है। , क्योंकि टाइमस्टैम्प को अद्वितीय गारंटी नहीं है। "_ – adamo

+0

सी-क्लाइंट में लागू" अलग दृष्टिकोण "का वर्णन यहां किया गया है: http://www.jwz.org/doc/threading.html –

+0

यह वास्तव में पागल है कि कितने प्रयास लोग ऐसा लगता है कि इसे दस्तावेज करने के बावजूद इसे उलट दिया गया है कम से कम 2003 से माइक्रोसॉफ्ट (https://msdn.microsoft.com/en-us/library/ms528174(v=exchg.10).aspx), और उससे पहले की संभावना सबसे अधिक (सीडीओ लाइब्रेरी को एनटी में वापस शामिल किया गया था 4.0, इसके लिए प्रलेखन शायद एक ही जानकारी शामिल है)। – poizan42

15

वे बेस 64 एन्कोडेड वार्तालाप सूचकांक मान हैं। उन्हें माइक्रोसॉफ्ट द्वारा दस्तावेज किए जाने के रूप में उन्हें इंजीनियर करने की आवश्यकता नहीं है। http://msdn.microsoft.com/en-us/library/ms528174(v=exchg.10).aspx और http://msdn.microsoft.com/en-us/library/ee202481(v=exchg.80).aspx

मानते हैं कि आपके उदाहरण में इंडेक्स एक ही वार्तालाप का प्रतिनिधित्व नहीं करते हैं, जिसका शायद मतलब है कि मेल भेजने वाले सॉफ़्टवेयर उन्हें एक साथ जोड़ने में सक्षम नहीं थे।

संपादित करें: दुर्भाग्यवश मेरे पास कोई टिप्पणी जोड़ने के लिए पर्याप्त प्रतिष्ठा नहीं है, लेकिन अदोमो सही है कि इसमें टाइमस्टैम्प होता है - कुछ हद तक गूढ़ एन्कोडेड आंशिक फ़ाइल। लेकिन इसमें एक GUID भी शामिल है, इसलिए यह उस मेल के लिए अद्वितीय होने के लिए बहुत अधिक गारंटीकृत है (बेशक एक ही मेल कई प्रतियों में मौजूद हो सकता है)।

+0

वार्तालाप सूचकांक आउट लुक (एमएपीआई) है। आउटलुक एक्सप्रेस के लिए नहीं। कम से कम मुझे यह नहीं मिल रहा है। – Paparazzi

1

आप सी # में थ्रेड-सूचकांक पार्स करने में रुचि रखते हैं इस पोस्ट

http://forum.rebex.net/questions/3841/how-to-interprete-thread-index-header

टुकड़ा आप थ्रेड-सूचकांक पार्स वहाँ जाने और थ्रेड प्राप्त करेंगे तो आप पाएंगे पर एक नज़र डालें तो कृपया GUID और संदेश डेटटाइम। हालांकि एक समस्या है, यह वहां सभी थ्रेड-इंडेक्स के लिए काम नहीं करता है। प्रश्न यह है कि कुछ थ्रेड-इंडेक्स अमान्य डेटटाइम क्यों उत्पन्न करते हैं और उन सभी का समर्थन करने के लिए क्या करना है ???

संबंधित मुद्दे