Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
else:
stat[virusname] = '1'
else:
os.popen(lda_command, 'w').write(mail)
# Если в next-файле записано имя «прошлой» базы, то отсылаем дайджест
if os.path.isfile(next):
mdf = open(next, 'r').read(len(prefix_var) + 10)
if mdfile != mdf:
send_digest(mdf)
else:
open(next, 'w').write(mdfile)
На всякий случай напомню, что блоки кода в Python задаются с помощью отступов. В принципе всё должно быть понятно. Пояснения требует разве что использование переменной lda в функции send_digest(). В первой строке мы присваиваем этой переменной ссылку на метод write(), который применяется к каналу, созданному для команды, определённой в lda_command. В дальнейшем мы можем использовать функцию lda() как замену конструкции os.popen(lda_command, 'w').write().
Ещё следует указать, что скобки позволяют обойти жёсткие требования соблюдать отступ, чем мы и воспользовались в трехстрочной конструкции if, где мы проверяем наличие в письме нужных нам заголовков.
Теперь вместо десятков уведомлений администратор будет получать одно письмо в день, отражающее вирусную активность на почтовом сервере за истекшие сутки (см. рис. 1).
Рисунок 1. Примерно так выглядят формируемые отчёты
Нет предела фантазии
Насладившись работой нашего сценария, поразмышляем о том, что ещё полезного можно сделать подобным способом.
Во-первых, можно реализовать автоматический разбор входящей почты (когда сообщения со словом «Договор» в теме направляются в абонентский отдел, а со словом «Счёт» – в бухгалтерию). Заодно можно организовать функцию автоматического ответа, когда отправитель сообщения будет получать уведомление, что его письмо получено и передано на обработку Иванову Ивану Ивановичу (ещё одно последствие борьбы со спамом, когда приходится подтверждать доставку почти каждого важного письма, чтобы убедиться, что оно не попало под «жернов» одного из фильтров).
Во-вторых, обработка входящих сообщений позволяет при определённой доле осторожности и «разумности» использовать электронную почту для управления каким-либо сервисом путём отправки команд в теле или теме сообщения на определённый адрес (только не используйте этот механизм для создания учётных записей и перезагрузки сервера!).
Наконец, можно пропускать входящую корреспонденцию через собственные фильтры или собирать ту или иную статистику. В общем, полёт вашей фантазии ничем не ограничен.