سؤال

ولست بحاجة لتنزيل رسائل البريد الإلكتروني من البريد الوارد جوجل فقط باستخدام poplib.Unfortunately أنا لا أرى أي خيار لتحديد علبة وحده، وpoplib يعطيني رسائل البريد الإلكتروني من العناصر المرسلة للغاية.

وكيف يمكنني تحديد رسائل البريد الإلكتروني فقط من البريد الوارد؟

وأنا لا أريد أن استخدام أي بريد جوجل مكتبات محددة.

هل كانت مفيدة؟

المحلول

وPOP3 لا يوجد لديه مفهوم "المجلدات". إذا جوجل يظهر لكم على حد سواء "أرسلت" وكذلك البريد "تلقت '، ثم هل حقا لم يكن لديك أي خيار سوى أن تلقي كل ما البريد الإلكتروني.

ولعل أن تكون أفضل حالا باستخدام IMAP4 بدلا من POP3. بيثون ديه المكتبات التي ستعمل مع خادم IMAP4 جوجل ل.

نصائح أخرى

وأفترض أنك قد تمكين الوصول POP3 / IMAP إلى حساب Gmail.

وهذا هو نموذج التعليمات البرمجية:

import imaplib
conn= imaplib.IMAP4_SSL('imap.googlemail.com')
conn.login('yourusername', 'yourpassword')
code, dummy= conn.select('INBOX')
if code != 'OK':
    raise RuntimeError, "Failed to select inbox"

code, data= self.conn.search(None, ALL)
if code == 'OK':
    msgid_list= data[0].split()
else:
    raise RuntimeError, "Failed to get message IDs"

for msgid in msgid_list:
    code, data= conn.fetch(msgid, '(RFC822)')
    # you can also use '(RFC822.HEADER)' only for headers
    if code == 'OK':
        pass # your code here
    else:
        raise RuntimeError, "could not retrieve msgid %r" % msgid

conn.close()
conn.logout()

وأو شيء من هذا القبيل.

وهذا الرمز جافا يوحي أنه يمكنك اختيار "مجلد" خاص لتحميل، حتى عند استخدام POP3. مرة أخرى، وهذا هو باستخدام جافا، بيثون لا حتى YMMV.

<وأ href = "http://blog.prolificprogrammer.com/2008/04/04/how-to-search-gmail-from-the-comfort-of-your-command-line" يختلط = "نوفولو noreferrer "> كيفية تحميل رسالة من بريد جوجل باستخدام جافا (بلوق وظيفة يناقش دفع المحتوى في محرك البحث لوسين محليا)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top