Загрузка / Разбор электронной почты с Python - PullRequest
3 голосов
/ 08 июня 2011

Я работаю над почтовым клиентом и столкнулся с небольшой проблемой. Я не уверен, как загрузить сообщения электронной почты и сохранить их на локальном жестком диске. Я могу подключиться к серверу, используя IMAP4 SSL (с кодом ниже).

import imaplib
server = imaplib.IMAP4_SSL('imap.gmail.com')
server.login('USER', 'PASS')

Ответы [ 2 ]

8 голосов
/ 08 июня 2011

Вы можете перечислить каталоги в своем почтовом ящике с помощью IMAP4.list.Чтобы фактически получить сообщения из каталога, используйте IMAP4.select, а затем используйте IMAP4.search и перебирайте список идентификаторов, которые он возвращает.В вашем случае вы можете сделать что-то вроде этого:

server.select('[Gmail]/All Mail')
resp, items = server.search(None, "(UNSEEN)")
for mail in items[0].split():
    resp, data = m.fetch(mail, '(RFC822)')
    body = data[0][1]
    print body

Прочитайте документы наверняка: http://docs.python.org/library/imaplib.html. Также согласитесь с этим ответом , прочитайте учебник PyMOTW.В общем, это хорошее место, чтобы проверить учебники для модулей в стандартной библиотеке.

4 голосов
/ 08 июня 2011

Для простых примеров использования я обнаружил, что «Модуль недели Python» Дуга Хеллмана очень быстро дает хорошее понимание. См. Раздел «Выбор сообщений».

http://www.doughellmann.com/PyMOTW/imaplib/

...