Процессы, используемые программой Postfix

Материал из Wiki Open book
Перейти к: навигация, поиск

Процессы программы можно условно разбить на следующие группы, основываясь на пути следования сообщения через почтовую систему Postfix.


  • Доставка сообщений в почтовую систему, их первичная обработка.
    • smtpd — принимает почтовые сообщения через сетевое соединение; может производить проверку на соответствие правилам UCE-фильтрации (unsolicited commercial email), если почтовый сервер настроен должным образом.
    • sendmail — принимает сообщения сгенирированные внутри локальной системы, вызывает привилегированную программу postdrop, которая передаёт сообщение в очередь maildrop.
    • pickup — забирает сообщения из очереди maildrop, производит первичную проверку подобно процессу smtpd на соответствие установленным правилам;


  • Обработка сообщений, принятие решения о их дальнейшей доставке.
    • cleanup — получает сообщения от процессов smtpd и pickup, осуществляет проверку на правильность оформления и формат входящего сообщения. В случае необходимости добавляет в письмо недостающие служебные заголовки и с помощью процесса trivial-rewrite приводит адреса к виду: user@domain; передаёт сообщения в очередь incoming и уведомляет процесс qmgr о поступлении новых сообщений.
    • qmgr — перекладывает сообщения из очереди incoming в очередь active, запрашивает процесс trivial-rewrite о назначении сообщения (локальный или удалённый получатель), на основе полученной информации передаёт сообщение далее одному из процессов доставки.
    • bounce — генерирует письмо о невозможности доставки сообщения отправителю данного сообщения.


  • Доставка обработанных сообщений из почтовой системы адресатам.
    • local — доставляет сообщения внутрь локальной системы. Работает со стандартными UNIX почтовыми ящиками, может получать информацию из файлов почтовых псевдонимов ( например, /etc/aliases) и файлов локального перенаправления ( .forward ). Может передать доставку сообщений внешним программам, например, программе Procmail.
    • virtual — доставляет сообщения для виртуальных доменов, обслуживаемых локальной системой. Может работать только с почтовыми ящиками в формате mailbox, не поддерживает почтовые псевдонимы и локальные перенаправления.
    • smtp — доставляет сообщения пользователям удалённой системы, основываясь на служебной информации, полученной от qmgr. В случае невозможности доставки сообщения, например, по причине отсутствия получателя сообщения на удалённом серевере, процесс bounce генерирует письмо о невозможности доставки сообщения. В случае временной неработоспособности сети сообщение помещается в очередь deferred для последующей повторной попытки доставки.
    • lmtp — по принципу действия аналогичен процессу smtp, но использует протокол LMTP и доставляет сообщения на локальный или удалённый сервер, выделенный для хранения почтовых ящиков.
    • pipe — предназначен для работы с внешними транспортными агентами.


Можно схематично отобразить работу программы Postfix на следующем рисунке:

Изображение:Postfix_arch.gif



Назад

Инструменты
    
Личные инструменты