FreeBSD 8.1 Postfix и forward всей почты на CATCHALL ящик

Захотелось как-то одному руководству собирать всю входящую и исходящую почту на один ящик в пределах почтового домена.
Ну казалось бы, задача простая как божий день, да не тут то было..

В админке Postfixadmin есть приписочка внизу: как форвардить параллельно всю почту на определенный ящик.
«Для создания catch-all почтового ящика используйте «*» в качестве имени алиаса.»
Для этого нужно сделать алиас вида [@mail.com catchall@mail.com], где catchall@mail.com — ЛЮБОЙ реально существующий ящик в почтовом домене.
Все было сделано, но проверка показала абсолютную неработоспособность такого решения. На этом останавливаться было глупо, поэтому пришлось обрыть много инета.

В итоге, после детального разбора ситуации выяснилось, что есть простой способ достичь желаемого:

# ee /usr/local/etc/postfix/main.cf

...............
sender_bcc_maps = hash:/usr/local/etc/postfix/maps/bcc.conf
recipient_bcc_maps = hash:/usr/local/etc/postfix/maps/bcc.conf
...............

После, создаем собственно, этот файл по указанному пути и набиваем его строками похожими на приведенные ниже. Если нужно форвардить всю почту и входящую и исходящую на один ящик, выражение будет одно и такого вида: @mail.com catchall@mail.com
Главное не забыть создать реальный ящик catchall@mail.com

# ee /usr/local/etc/postfix/maps/bcc.conf
...............
user1@mail.com catchall@mail.com
user2@mail.com catchall@mail.com
...............
#postmap /usr/local/etc/postfix/maps/bcc.conf

Вроде бы все нормально работает, но есть небольшая проблема — при пользовании антиспама создается петля при перефутболивании писем по Localhost’у и вылазит подлое задвоение. Письма на catchall приходят по двое одинакового содержания. Сначала была мысль, что им просто скучно по одному ходить, но потом опять перерыв кучу инета, нашлось решение. Нужно немножко поправить файл master.cf, который как раз рулит всеми перенаправлениями и опциями при этом.

...........................
127.0.0.1:1025 inet    n    -    n    -    -    smtpd
-o content-filter=
-o cleanup_service_name=mycleanup

mycleanup unix n    -       n       -       0     cleanup
-o sender_bcc_maps=
-o recipient_bcc_maps=

После этого, нужно перезапустить все демоны поддержки почты (master postfix amavis) лучше просто аккуратно (shutdown -r now) ребутнуться. И все должно работать.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

CAPTCHA изображение

*