Обработка электронной почты

obrabotka elektronnoj pochty Сценарии на стороне клиента

Имеется целый набор часто используемых высокоуровневых протоколов Интернета, которые предназначены для чтения и отправки сообщений электронной почты: POP и IMAP для получения почты с серверов, SMTP для отправки новых сообщений, а также дополнительные спецификации, такие как RFC822, которые определяют содержимое и формат сообщений электронной почты. При использовании стандартных инструментов электронной почты обычно нет необходимости знать о существовании этих акронимов, но для выполнения ваших запросов такие программы, как Microsoft Outlook и системы электронной почты с веб-интерфейсом, обычно обмениваются данными с серверами POP и SMTP.

Суть протоколов электронной почты, как и FTP, в конечном счете заключается в форматировании команд и потоков байтов, передаваемых через сокеты и порты (порт 110 для POP; 25 для SMTP). Независимо от природы содержимого и вложений сообщения электронной почты — это чуть больше, чем простые строки байтов, отправляемые и принимаемые через сокеты. Но, так же, как для FTP, в Python есть стандартные модули, которые упрощают все стороны обработки электронной почты:

      poplib и imaplib — для получения электронной почты

      smtplib — для отправки

     пакет email — для анализа и конструирования сообщений электронной почты

Эти модули связаны между собой: для обработки нетривиальных сообщений обычно используется пакет email, позволяющий проанализировать текст сообщения, полученного с помощью poplib, и сконструировать сообщение для отправки с помощью smtplib. Пакет email также позволяет решать такие задачи, как анализ адресов, форматирование даты и времени, форматирование и извлечение вложений, а также кодирование и декодирование содержимого сообщения электронной почты (например, uuencode, Base64). Для решения более специфических задач применяются другие модули (например, mimetypes для отображения имен файлов в их типы и обратно).

В следующих нескольких разделах мы исследуем интерфейсы POP и SMTP для получения и отправки почты на серверы и интерфейсы пакета email анализа и конструирования сообщений электронной почты. Другие интерфейсы электронной почты в Python аналогичны и описаны в справочном руководстве по библиотеке Python.

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий