jutda-helpdesk नामक एक ऐप है जो आने वाले ईमेल को संसाधित करने के लिए पाइथन के poplib
और imaplib
का उपयोग करता है। आपको सिर्फ पीओपी 3 या आईएमएपी एक्सेस के साथ कहीं खाता होना है।
यह उनकी get_email.py से अनुकूलित है:
def process_mail(mb):
print "Processing: %s" % q
if mb.email_box_type == 'pop3':
if mb.email_box_ssl:
if not mb.email_box_port: mb.email_box_port = 995
server = poplib.POP3_SSL(mb.email_box_host, int(mb.email_box_port))
else:
if not mb.email_box_port: mb.email_box_port = 110
server = poplib.POP3(mb.email_box_host, int(mb.email_box_port))
server.getwelcome()
server.user(mb.email_box_user)
server.pass_(mb.email_box_pass)
messagesInfo = server.list()[1]
for msg in messagesInfo:
msgNum = msg.split(" ")[0]
msgSize = msg.split(" ")[1]
full_message = "\n".join(server.retr(msgNum)[1])
# Do something with the message
server.dele(msgNum)
server.quit()
elif mb.email_box_type == 'imap':
if mb.email_box_ssl:
if not mb.email_box_port: mb.email_box_port = 993
server = imaplib.IMAP4_SSL(mb.email_box_host, int(mb.email_box_port))
else:
if not mb.email_box_port: mb.email_box_port = 143
server = imaplib.IMAP4(mb.email_box_host, int(mb.email_box_port))
server.login(mb.email_box_user, mb.email_box_pass)
server.select(mb.email_box_imap_folder)
status, data = server.search(None, 'ALL')
for num in data[0].split():
status, data = server.fetch(num, '(RFC822)')
full_message = data[0][1]
# Do something with the message
server.store(num, '+FLAGS', '\\Deleted')
server.expunge()
server.close()
server.logout()
mb
बस कुछ वस्तु सभी मेल सर्वर की जानकारी स्टोर करने के लिए है, बाकी बहुत स्पष्ट होना चाहिए।
संदेश के विशिष्ट हिस्सों को प्राप्त करने के लिए आपको शायद poplib
और imaplib
पर दस्तावेज़ों की जांच करने की आवश्यकता होगी, लेकिन उम्मीद है कि यह आपको जाने के लिए पर्याप्त है।
यह प्रश्न भी देखें: http://stackoverflow.com/questions/640970/email-integration –