LINUX.ORG.RU
решено ФорумAdmin

Postfix, виртуальные домены, распределённые.


0

2

Здравствуйте!

Тема такая: собираю почтовую систему для перехода с Kerio Mail Server на Linux.
Как выглядит автоматизируемая схема:
Есть домены, которые хостятся у хостера.
И в разных офисах есть пользователи, у которых на этих доменах ящики.
Мой почтовый сервер должен забирать почту с хостинга и отдавать её пользователям в данном офисе, и должен обеспечивать отправку почты во внешний мир. (Это внутренний почтовый сервер, за шлюзом, извне доступа нет). Соответственно, при отправке почты, сервер должен или класть письмо в папку пользователя, определенного на данном сервере, или отсылать во внешний мир, если пользователя на данном сервере не существует. Вот насчет отсылки почты несуществующего в карте виртуального пользователя наружу и получился затык...

В качестве MTA выбран Postfix, остальные части системы тут не суть.

В гуях Керио всё решалось просто: если пользователь неопределен, ставим галку «релеить письмо..» и пишем куда релеить (в данном случае используется релей провайдера).

Что у меня в Postfix:
Сделал два виртуальных домена.

в main.cf из того что существенно:

mydestination = localhost
mynetworks = 127.0.0.0/8, 192.168.100.0/24, 10.0.0.0/8
relay_domains = $mydestination, $virtual_mailbox_domains, $mynetworks
relayhost = mail.my-provider.ru


virtual_mailbox_domains = domain1.ru domain2.com
virtual_mailbox_base = /var/spool/mail/vhosts
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = hash:/etc/postfix/virtual

local_recipient_maps =
transport_maps = hash:/etc/postfix/transport

В картах:
cat /etc/postfix/vmailbox
123@domain1.ru domain1.ru/123
345@domain1.ru domain1.ru/345
678@domain2.com domain2.com/678


cat /etc/postfix/virtual
mailer-daemon postmaster@localhost
postmaster root@localhost
root myuser@localhost
myuser@localhost myuser@myexternalmail.ru


cat /etc/postfix/transport
123@domain1.ru :
456@domain1.ru :
678@domain2.com :
* smtp:mail.my-provider.ru:25


Так вот, если отправлять почту для пользователей, которых нет в карте
vmailbox, непосредственно с моего сервера из консоли, почта замечательно релеится во внешний мир через провайдера.

А если с другого компа из локалки телнетом, то не проходит.
Пишет 550 5.1.1 <external@domain1.ru>: Recipient address rejected: User unknown in virtual mailbox table

Неужели в каждом офисе так и придется прописывать в карту всех возможных пользователей? И если да, что писать то, если хранилище почты на моем сервере мне писать не надо, мне надо чтоб ушло наружу?
У кого-нибудь были похожие ситуации? Странно, но ничего не нашел в интернете похожего. И в толстенном руководстве по Postfix-тоже.
Просьба пнуть в нужном направлении, заранее спасибо.

>И в толстенном руководстве по Postfix-тоже.

Вруша, ты его даже не открывал, ибо если бы открыл - то давно бы понял в чем проблема

guyvernk
()

«Умник» из 1 коммента, твои б слова да Б-гу в уши.

В общем фиксирую если кому понадобится. Нашел, методом проб и ошибок.

В каждом офисе так и придется прописывать в карту vmailbox всех возможных адресатов в виртуальном домене.
cat /etc/postfix/vmailbox
123@domain1.ru domain1.ru/123
345@domain1.ru domain1.ru/345
678@domain2.com domain2.com/678
external@domain2.com domain2.com/external

Только в таком варианте всё заработало корректно. Всё вышеприведенное в конфе и других картах - без изменений.

malamute
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.