| Распространение информации |
|
После того как данные будут собраны и отформатированы, необходимо передать их тем, кто заинтересован в их получении. В этом разделе мы сосредоточим основное внимание на передаче документации с помощью электронной почты. Если вам потребуется передать некоторую документацию на веб-сервер, где ее смогут увидеть ваши пользователи, вы сможете использовать для этого протокол FTP. Использование стандартного модуля Python для работы с протоколом FTP мы рассмотрим в следующей статье. Передача электронной почтыРабота с электронной почтой является важной составляющей в деятельности системного администратора. Мало того, что нам приходится управлять почтовыми серверами, но нам часто приходится придумывать способы отправки предупреждений по электронной почте. Стандартная библиотека языка Python обладает потрясающей поддержкой возможности отправлять сообщения электронной почты, но в книгах об этом упоминается очень редко. Любой системный администратор должен иметь тщательно налаженный механизм автоматизированной отправки электронной почты, поэтому с этом разделе будет показано, как можно решать разнообразные задачи, связанные с электронной почтой, используя язык Python. Передача простых сообщенийВ состав Python входят два независимых друг от друга пакета, позволяющих отправлять сообщения по электронной почте. Один низкоуровневый пакет, smtplib, представляет собой интерфейс к протоколу SMTP, отвечающий требованиям различных спецификаций RFC. Другой пакет, email, помогает выполнять анализ и создание сообщений электронной почты. В примере 4.5 с помощью средств пакета smtplib создается строка, представляющая тело сообщения, а затем с помощью пакета email производится его отправка серверу электронной почты. Пример 4.5. Отправка сообщений по протоколу SMTP
Здесь мы определили имя хоста и номер порта сервера электронной почты, а также адреса «to» (получатель) и «from» (отправитель). Затем производится сборка самого сообщения путем объединения заголовков с телом сообщения. В заключение выполняется подключение к серверу SMTP и производится отправка сообщения по адресу to_addr с адреса from_addr. Следует также заметить, что добавление комбинаций символов \г\п в поля From: и То: выполнено в соответствии с требованиями RFC. В разделе «Планирование процессов Python» приводится пример программного кода на языке Python, который запускается как задание планировщика сгоп выполняющее отправку сообщений электронной почты. А теперь перейдем от этого простого примера к более сложным операциям с электронной почтой, которые можно реализовать на языке Python. Аутентификация по протоколу SMTPНаш последний пример был чрезвычайно прост, поскольку нет ничего сложного в том, чтобы реализовать отправку почты на языке Python, но, к сожалению, подавляющее большинство серверов SMTP вынудят вас проходить процедуру аутентификации, поэтому предыдущий пример в таких ситуациях окажется бесполезным. Порядок выполнения аутентификации демонстрируется в примере 4.6.
Пример 4.6. Аутентификация по протоколу SMTP Основное отличие от предыдущего примера заключается в том, что здесь указываются имя пользователя и пароль. Перед отправкой вызовом метода debuglevel() мы активировали режим отладки и затем запустили соединение SSL с использованием метода starttls(). Включение режима отладки перед прохождением аутентификации - это замечательная идея. Если взглянуть на отладочную информацию, полученную в случае неудачи, она будет иметь вид, как показано ниже:
В этом примере сервер, с которым мы попытались установить соединение SSL, не поддерживает такую возможность. Можно без особого труда обойти эту и другие потенциальные проблемы, создавая сценарии, которые включают в себя обработку ошибок отправки электронной почты, реализуя попытки отправки через каскад серверов, вплоть до попытки отправить почту через локальный сервер. Реализация отправки вложений на языке PythonОтправка сообщений, состоящих исключительно из текста, выполняется очень просто. Однако на языке Python можно реализовать отправку сообщений с использованием стандарта MIME, что означает возможность добавлять вложения в исходящие сообщения. В предыдущем разделе мы рассматривали возможность создания отчетов в формате PDF. Системные администраторы - нетерпеливые люди, поэтому мы опустим подробности о происхождении MIME и сразу же перейдем к отправке электронной почты с вложениями, как показано в примере 4.7. Пример 4.7, Отправка документа PDF, вложенного в сообщение электронной почты
Итак, мы совсем немного поколдовали, чтобы закодировать и отправить по электронной почте наш созданный ранее отчет в формате PDF об использовании дискового пространства. TracTrac - это вики (wiki) и система отслеживания проблем. Она обычно используется в процессе разработки программного обеспечения и написана на языке Python, но в действительности может использоваться везде, где необходима вики или система регистрации сообщений. Последнюю версию документации к системе Trac можно найти по адресу: http://trac.edgewall.org/. Детальное обсуждение Trac выходит далеко за рамки этой книги, но это достаточно хороший инструмент, который может использоваться для регистрации поступающих сообщений об ошибках. Одна из интересных особенностей Trac состоит в том, что эта система допускает возможность расширения с помощью дополнительных модулей. Мы упомянули эту систему, потому что она вписывается во все три последние темы, которые мы обсуждали: сбор информации, форматирование и распространение. Реализация вики в системе дает возможность пользователям создавать веб-страницы с помощью броузеров. Информация, которую они добавляют таким способом, становится доступна в формате HTML другим пользователям. Таким образом, система реализует полный цикл, обсуждаемый В этом разделе. Точно так же система регистрации и отслеживания сообщений дает возможность пользователям помещать свои предложения или сообщения об обнаруженных проблемах. Вы с ее помощью сможете составлять отчеты о сообщениях, введенных через веб-интерфейс, и даже генерировать отчеты в формате CSV. Напомним еще раз, что система Trac охватывает полный цикл от сбора до распространения информации, который рассматривается В этом разделе. Мы рекомендуем вам познакомиться с системой Trac поближе, чтобы понять, насколько полно она отвечает вашим потребностям. Может быть, вам потребуется нечто более мощное или наоборот, что-нибудь попроще, но эта система достойна того, чтобы познакомиться с ней поближе.
Related Articles
Set as favorite
Bookmark
Email This
Hits: 293 Комментарии (0)RSS feed CommentsНаписать комментарий |