2010-12-16 20 views
7

IMAP yanıtlarının ayrıntılarını ayrıştırma araçlarına sahip olmadığına benzeyen python ile imaplib kullanmak için imaplib kullanıyorum. num mesaj numaralı posta sunucusu, birpython'da IMAP yanıtlarını ayrıştırma

msgdata = connection.fetch(num, "(BODY.PEEK[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] UID)") 

(örneğin) neden olabilir: Örneğin, gibi sorgu

('OK', [('1234 (BODY[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] {123}', 'From: ...etc headers'), ' UID 3456)']) 

ve başka için:

('OK', [('1234 (UID 3456 BODY[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] {123}', 'From: ...etc headers'), ')']) 

As Gördüğünüz gibi mesaj detayları farklı ve UID orada farklı elemanlarda bile. Öyleyse soru şu: - belirli bir posta sunucusunun yaptıklarının ayrıntılarını otomatik olarak çözecek ve özetleyecek bir kütüphane var mı?

cevap

6

Doug Hellman'ın Python Module of the Week entry for imaplib, konu hakkında oldukça kapsamlı bir öğreticidir, ancak burada çoğaltılması çok uzun süredir.

IMAP protokolünün bazı ayrıntılarını gizlemek için IMAPClient gibi daha yüksek düzeyli bir kitaplık kullanmak isteyebilirsiniz.

+0

Ne yazık ki, Doug'un öğretici türü daha karmaşık getirme() yanıtlarını ayrıştırma konusuna kayıyor. IMAPClient bağlantısı için teşekkürler, ben kontrol edeceğim. – StasM

İlgili konular