stringtranslate.com

прокмейл

procmail — это программный компонент сервера электронной почты , в частности, агент доставки сообщений (MDA). Это была одна из первых программ фильтрации почты . Обычно он используется в Unix-подобных почтовых системах с использованием форматов хранения mbox и Maildir .

procmail был впервые разработан в 1990 году Стивеном Р. ван ден Бергом. [1] Филип Гюнтер взял на себя обязанности по сопровождению в течение нескольких лет, но отказался от этой роли в 2014 году . [2] Программное обеспечение оставалось необслуживаемым в течение нескольких лет и считалось несуществующим. [3] В мае 2020 года Стивен ван ден Берг снова возобновил техническое обслуживание. [4] С тех пор программа выходила в нескольких выпусках и исправляла ошибки.

Использование

Наиболее распространенным вариантом использования procmail является фильтрация почты по различным почтовым ящикам на основе таких критериев, как адрес отправителя , ключевые слова темы и/или адрес списка рассылки . [5] [6]

Другое использование — позволить procmail вызывать внешнюю программу спам-фильтра , такую ​​как SpamAssassin . Этот метод позволяет фильтровать или удалять спам.

Разработчики procmail создали менеджер списков рассылки SmartList поверх procmail.

Procmail — ранний пример инструмента и языка фильтрации почты. Это язык программирования, управляемый данными , похожий на более ранние строчно-ориентированные языки, такие как sed и AWK .

Операция

procmail читает почтовые сообщения, переданные ему на стандартный ввод , доставляя или иным образом уничтожая каждое из них. procmail обычно не вызывается пользователем напрямую. Скорее, какая-нибудь другая почтовая программа обратится к procmail для доставки сообщения в соответствии с пожеланиями пользователя. Агенты передачи сообщений (MTA), такие как Sendmail или Postfix , можно настроить на использование procmail для доставки всей почты. Агент получения почты , такой как fetchmail, может при необходимости вызывать procmail. Сопутствующий инструмент formail позволяет применять procmail к почте, уже находящейся в почтовом ящике.

Поведение procmail контролируется файлом конфигурации (по умолчанию .procmailrc в домашнем каталоге пользователя ), содержащим один или несколько рецептов , читаемых по порядку. Каждый рецепт состоит из режима , нуля или более условий и действия .

Условия обычно представляют собой расширенные регулярные выражения , хотя существуют и другие формы. Действие рецепта выполняется только в том случае, если все условия совпадают (логическое И). Если условия не заданы, рецепт является безусловным и действие выполняется всегда.

Действие определяет, что следует сделать с сообщением, например доставить его в определенный почтовый ящик или удалить. Рецепт и его действие могут быть доставляющими или не доставляющими . Обработка данного сообщения прекращается с первым рецептом доставки (если флаг режима рецепта не указывает иное).

Пример

Простой файл конфигурации .procmailrc может выглядеть так:

 MAILDIR=$HOME/почта DEFAULT=$MAILDIR/входящие  :0: * ^List-Id: .*<[email protected]> Фу-анонс

Приведенный выше пример маршрутизирует почту из гипотетического списка рассылки в отдельный почтовый ящик с именем foo-announce , а всю остальную почту доставляет в почтовый ящик «Входящие» , оба из которых расположены в каталоге $HOME/mail/ .

Критика

По умолчанию procmail «отправляет» недоставленную почту обратно отправителю или полностью отбрасывает ее. Ошибка в файле конфигурации может привести к тому, что вся почта будет отклонена или удалена.

Формат файла конфигурации иногда считается загадочным.

procmail не очень хорошо подходит для обработки почты с использованием многоцелевых расширений почты Интернета (MIME). Он не может декодировать или распознавать заголовки MIME или международные символы .

В течение примерно десяти лет procmail не поддерживался, и за это время было обнаружено множество серьезных уязвимостей безопасности [7] [3] (с тех пор как они были исправлены).

Смотрите также

Почтовая архитектура

Похожие программы и технологии

Рекомендации

  1. ^ "ЧИТАЙТЕ". 02.03.2022 . Проверено 26 апреля 2022 г. Авторские права (c) 1990–2022, С.Р. ван ден Берг, Нидерланды. Авторские права (c) 1997–2005 гг., Филип Гюнтер, Соединенные Штаты Америки.
  2. ^ Гюнтер, Филип (18 ноября 2014 г.). «пожалуйста, удалите порт procmail». порты@ (список рассылки). OpenBSD . Проверено 25 февраля 2019 г.
  3. ^ Аб Уиллис, Натан (24 ноября 2010 г.). «Сообщения о смерти procmail не сильно преувеличены». Еженедельные новости Linux . Проверено 27 октября 2013 г.
  4. ^ Стивен Р. ван ден Берг (2 марта 2022 г.). «#1006633: procmail не поддерживается в исходном потоке» . Проверено 26 апреля 2022 г. По состоянию на май 2020 года состояние бездействия восходящего обслуживания procmail было снова изменено на активное. Как может подтвердить Сантьяго Вила, последние два года я снова занялся активной поддержкой procmail...
  5. ^ Уэллс, Николас; Джанг, Майкл (3 октября 2018 г.). Руководство по установке и администрированию Linux. Cengage Learning в регионе EMEA. ISBN 9780619000974– через Google Книги.
  6. Левин, Джон (24 марта 2004 г.). qmail: Управление почтовыми системами на базе Unix. O'Reilly Media, Inc. ISBN 9780596552121– через Google Книги.
  7. ^ «Подробности CVE: уязвимости Procmail» . CVEdetails.com. 03 февраля 2018 г. Проверено 2 мая 2020 г.

дальнейшее чтение

Внешние ссылки