2009-09-16 16 views
8

मैं जीमेल बातचीत प्राप्त करने के लिए रूबी आईएमएपी लाइब्रेरी का उपयोग कर रहा हूं। जिस तरह से जीमेल थ्रेड बातचीत "संदेश-आईडी" और "इन-उत्तर-टू" संदेश शीर्षकों के माध्यम से होती है। उदाहरण के लिए:जीमेल थ्रेडिंग, आईएमएपी और रूबी

In-Reply-To: <[email protected]> 
Message-ID: <[email protected]> 

मैं समझ नहीं पा रहा हूं कि उत्तर-संदेश को कुशलतापूर्वक कैसे प्राप्त किया जाए। वर्तमान तरीका:

target = <c0f07c94[email protected]> 
imap.search(["NOT", "DELETED"]).each do |msg_id| 
    uid = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"].message_id 
    if uid == target 
    m = imap.fetch(msg_id, "RFC822")[0].attr["RFC822"] 
    end 
end 

यह वास्तव में लंबा समय लगता है कि जैसे क्रमिक रूप से यह करने के लिए है, लेकिन मैं संदेश- ID हैडर से खोज करने के लिए सही जादू को समझ नहीं सकता, और मैं वास्तव में लगता है नहीं कर सकते यह सबूत है कि यह संभव है या नहीं।

उत्तर

10

जाहिर है, यह करने के लिए सही तरीका है:

imap.search ["HEADER", "MESSAGE-ID", target] 
संबंधित मुद्दे