Получение email сообщений

Семинар «Получение email сообщений» является частью обучающих материалов кафедры веб-технологий.

Статья рассматривает способы получения email-сообщений из своих программ или скриптов.

Программа может запускаться по требованию или как домен. Запустить программу по требованию

 fetchmail -v

запустить в режиме демона:

fetchmail -d 10 -L '~/fetchmail.log'

Чтобы сообщения не удалялись с сервера (а помечались прочитанными) надо добавить флаг -k.

Для программы создаётся конфиг-файл

 /home/user/.fetchmailrc

В конфиг-файле указываются настройки учётных записей

poll pop.user.ru proto pop3 port 110
    user "iAmUser" pass "myPasswjjj" mda "/home/user/scripts/mail_client.py %T"

mda - это программа, куда fetchmail будет отдавать тексты писем. Информация передаётся через stdout (он же pipe). Программа для сохранения текста писем будет выглядеть очень просто:

from uuid import uuid4
a = open( '/home/user/scripts/tmp/'+uuid4().hex+'.txt', 'wb')
while True:
    try:
        a.write( raw_input() )
        a.write( '\n' )
    except EOFError:
        break
a.close()