Python kullanarak IMAP üzerinden e-posta yüklemeyle ilgili gördüğüm örnekler bir arama yapar ve sonuçlarda her ileti kimliği için bir sorgu yapar. Hepsini bir an önce alıp hızlandırmak istiyorum.Aynı anda birden çok IMAP iletisi alma
5
A
cevap
12
RFC 3501, getirmenin bir dizi kümesi aldığını ancak bunun için bir tanım görmediğimi ve örnekte bir aralık biçimi kullandığını (2: 4 = ileti 2, 3 ve 4) söyledi. Virgülle ayrılmış ids listesinin çalıştığını anladım. Sunucuya sadece 1 Go tüm postaların başlık bilgilerini almak için bu deneyebilirsiniz
status, email_ids = con.search(None, query)
if status != 'OK':
raise Exception("Error running imap search for spinvox messages: "
"%s" % status)
fetch_ids = ','.join(email_ids[0].split())
status, data = con.fetch(fetch_ids, '(RFC822.HEADER BODY.PEEK[1])')
if status != 'OK':
raise Exception("Error running imap fetch for spinvox message: "
"%s" % status)
for i in range(len(email_ids[0].split())):
header_msg = email.message_from_string(data[i * 3 + 0][1])
subject = header_msg['Subject'],
date = header_msg['Date'],
body = data[i * 3 + 1][1] # includes some mime multipart junk
3
: imaplib ile piton, ben böyle bir şey var.
import imaplib
import email
obj = imaplib.IMAP4_SSL('imap.gmail.com', 993)
obj.login('username', 'password')
obj.select('folder_name')
resp,data = obj.uid('FETCH', '1:*' , '(RFC822.HEADER)')
messages = [data[i][1].strip() + "\r\nSize:" + data[i][0].split()[4] + "\r\nUID:" + data[i][0].split()[2] for i in xrange(0, len(data), 2)]
for msg in messages:
msg_str = email.message_from_string(msg)
message_id = msg_str.get('Message-ID')
İlgili konular
- 1. Aynı anda birden çok PayPal İşlemi
- 2. MATLAB'da aynı anda birden çok değişken tanımlayın?
- 3. Aynı anda birden çok SQLite veritabanını kullanma
- 4. Birden çok düğmeyi aynı anda nasıl yüklerim?
- 5. Aynı anda birden çok düğmeye basılması
- 6. Birden çok düğmenin aynı anda dokunulmasını önleme
- 7. Aynı anda birden çok ses çalın
- 8. Birden çok OR ile IMAP ölçütleri
- 9. Spring-Boot: Aynı anda birden çok istekte bulunun
- 10. Sqlite veritabanında, aynı anda Tabloda Birden Çok Satır Nasıl Eklenir
- 11. Birden çok Powershell Komut Dosyası aynı anda nasıl çalıştırılır?
- 12. POST aynı anda birden çok mesaj için yürütme çalışmıyor android
- 13. Aynı anda birden çok Ağızlık isteği nasıl yapılır?
- 14. Simplexml ile aynı anda birden çok besleme yükleniyor mu?
- 15. Birden çok Selenium Firefox tarayıcısı aynı anda nasıl çalıştırılır?
- 16. Java 5 HashSet'e aynı anda birden çok alan ekleyin
- 17. Delphi XE2'de aynı anda birden çok uygulama hata ayıklama
- 18. Android uygulamasını aynı anda birden çok cihazda çalıştırın (Xamarin)
- 19. SSRS, birden çok sorguyu aynı anda çalıştırıyor mu?
- 20. std :: cin neden aynı anda birden çok girişi kabul ediyor?
- 21. Aynı anda çalışan .NET CLR'nin birden çok sürümü
- 22. Aynı anda birden çok satıra boşluk ekleme - Pycharm içinde
- 23. Birden çok model görünümü denetleyicisini aynı anda reddetme?
- 24. Stilleri aynı anda birden çok sınıfa nasıl uygularım?
- 25. Aynı anda birden çok görüntülemeye bir animasyon uygulayın
- 26. Birden çok txt dosyasını aynı anda nasıl tarayabilirim?
- 27. Retrofit 2'de aynı anda birden çok isteği nasıl arayabilirim?
- 28. Birden çok isteği aynı anda java mysql ile yönetin
- 29. Aynı anda birden fazla R-betiği çalıştırın
- 30. Mongoose Aynı anda birden fazla veri silme
Arama yapmak ve sonuçta oluşan tüm iletileri tek bir işlemle almak istiyorum. Birisi dikkat etmediğimde yeni bir fizik yasası eklemediyse, iyi olacağımı düşünüyorum. –