Рейтинг:0

Postfix: как отклонить почту для пользователей локальной системы?

флаг in

Я пытаюсь создать небольшой сервер Postfix/Cyrus на моей рабочей станции Linux, чтобы действовать как прокси-сервер между моим почтовым клиентом (Thunderbird) и почтовым сервером моей компании, а также обрабатывать локальную системную электронную почту (вещи, отправленные crontabs для пример).

На сервере Cyrus я создал почтовый ящик, имитирующий адрес электронной почты моей компании, настроил псевдонимы в /etc/псевдонимы отправлять локальные электронные письма, предназначенные для корень или же почтмейстер по этому адресу, и благодаря транспорт_карты Директива, которая имеет приоритет над всем остальным, предписывает Postfix доставлять электронные письма, предназначенные для этого адреса электронной почты, непосредственно в сокет Cyrus lmtp. Эта часть работает отлично: вся локальная почта, предназначенная тем пользователям, которые присутствуют в /etc/псевдонимы доставляется на мой локальный почтовый ящик Cyrus, в то время как вся почта для других доменов (или даже домена моей компании) отправляется на узел ретрансляции (фактический почтовый сервер моей компании) после того, как От: заголовок переписан на адрес электронной почты моей компании благодаря smtp_generic_maps (который действует только на исходящую почту, в отличие от sender_canonical_maps или же реципиент_канонические_карты). Это почти идеально.

Проблема, с которой я столкнулся, заключается в том, что Postfix принимает всю почту, предназначенную локальным пользователям, даже системным пользователям, и доставляет ее в файлы mbox в /var/спул/почта, чего я не хочу.

я пытался установить local_recipient_maps только $alias_maps (исключая прокси:unix:passwd.byname который содержится в значении по умолчанию), но это ничего не меняет.

Я также пытался установить почтовый ящик_транспорт для доставки этих писем в сокет lmtp Сайруса, но тогда Постфикс отправляет Сайрусу все, что не указано в $alias_maps, независимо от того, существует ли он в базе данных паролей Unix или нет (настройка mailbox_transport_maps = $alias_maps не помогает).

С этими настройками почта несуществующим пользователям (или существующим учетным записям Unix, не $alias_maps) оказывается отвергнутым Сайрусом (с 550-Почтовый ящик неизвестен), но я бы хотел, чтобы Postfix отклонял эти электронные письма напрямую, избегая бесполезного (ИМХО) обращения к Сайрусу.

Если то, чего я пытаюсь достичь, действительно невозможно, я соглашусь на это.

Я также пытался установить местный транспорт к сокету Cyrus lmtp, но это еще хуже: вся почта отправляется прямо в Cyrus, без каких-либо псевдонимов (поэтому вся локальная почта отклоняется, даже если локальный пользователь присутствует в $alias_maps).

Я знаю, что могу игнорировать местный полностью и обрабатывать всю почту с виртуальный агент доставки (это то, что я обычно делаю, когда настраиваю настоящий почтовый сервер, использующий только виртуальные домены/почтовые ящики), но мне нравится очень простая конфигурация, которую я получил до сих пор (/etc/postfix/main.cf в настоящее время содержит только 10 фактических строк или около того), и я нахожу очень удивительным, что местный нельзя получить указание игнорировать базу данных паролей Unix и отвергать все, что на самом деле не указано в $alias_maps (если я неправильно понял документацию, это то, что local_recipient_maps это для).

Вот моя конфигурация:

/etc/postfix/main.cf

уровень_совместимости = 2
myhostname = <полное доменное имя моей рабочей станции в локальной сети>
inet_interfaces = только для обратной связи
mynetworks_style = хост
relayhost = <внутренний MX моей компании>
alias_maps = hash:/etc/aliases (для исключения nis:mail.aliases)
transport_maps = хеш:$config_directory/transport_maps
smtp_generic_maps = хэш:$config_directory/smtp_generic_maps
биф = нет

/etc/псевдонимы

почтмейстер: корень
root: <фактический адрес электронной почты моей компании>

/etc/postfix/transport_maps

<фактический адрес электронной почты моей компании> lmtp:unix:/run/cyrus/socket/lmtp

/etc/postfix/smtp_generic_maps

@<полное доменное имя моей рабочей станции в локальной сети> <фактический адрес электронной почты моей компании>

Как видите, очень просто.

Нет ли способа проинструктировать Postfix отклонять почту для системных пользователей, или, точнее, отклонять почту для пользователей, не указанных явно в $alias_maps ?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.