LINUX.ORG.RU
ФорумAdmin

postfix: форвард почты+копия себе


0

1

Есть 2 почтовика: postfix и lotus. Сейчас postfix тупо реелит всю входящую почту на лотус.
Хочу отказаться от лотуса и хранить всю почту на постфиксе.

Т.к. переезд должен быть безболезненным для юзеров, то подумал - а нет ли возможности настроить постфикс так, чтобы он все письма не просто рееил на другой сервер, а клал копию себе локально ?
При реализации этой фичи можно сделать переезд незаметным - оба сервера будут иметь одни и теже сообщения.

Зы - про recipient_bcc_maps знаю, но это работает только для одного ящика, а не для целого домена.

★★★★★

Лучше всё таки начать добавлять юзеров в линуксовый сервер, а в постфиксе настроить, чтобы он сначала искал юзера у себя, если находит - то кладёт себе, если нет - релеит на лотус. Это реализуется достаточно просто через transport_maps.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Это реализуется достаточно просто через transport_maps.

а не подскажите как? а то идея хорошая, а сообразить, как настроить не могу ((

dreamer ★★★★★
() автор топика
Ответ на: комментарий от dreamer

Ну, transport_maps говорит постфиксу как роутить почту.

Значит надо создать таблицу где-нибудь, в SQL или LDAP, по запросам в которую постфикс мог бы решить, куда посылать письмо.

К примеру:

# cat /etc/postfix/virtual.mysql
user = postfix
password = postfix
hosts = localhost
dbname = postfix
query = SELECT 'virtual:' FROM `users` WHERE `email` = '%s'

# cat main.cf | grep transport_maps
transport_maps = mysql:/etc/postfix/virtual.mysql

Т.е. если у тебя в постфиксе стоит что-то вроде relayhost = <lotus_ip>, то он при приеме письма сделает запрос в базу, и если пользователь там есть, то доставит письмо локально. А если нет - будет следовать по стандартному пути и отрелеит его в лотус.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

у меня сейчас настроен форвард всего домена на лотус как раз через транспорт, relayhost не используется :

mail:/etc/postfix# cat transport
test.ru smtp:[lotus.test.ru] 

юзеры лежат в мускуле:

virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf

----
query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1'
----



virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

---
query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'
---

dreamer ★★★★★
() автор топика
Ответ на: комментарий от blind_oracle

юзеры лотуса лежат в лотусе :)
в мускуле лежат юзеры постфикса.

т.е. есть 2 несвязанных сервера.

dreamer ★★★★★
() автор топика
Ответ на: комментарий от dreamer

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

blind_oracle ★★★★★
()
Ответ на: комментарий от dreamer

нет, не прокатит - т.к. для imapcopy,imapsync нужно знать пароли юзеров на лотусе, а такой инфы нет.

dreamer ★★★★★
() автор топика
Ответ на: комментарий от dreamer

Ну, автор постфикса немного лукавит. По крайней мере при локальной доставке через транспорт virtual, если для какого-либо пользователя в transport_maps явно указать транспорт, к примеру, relay:[1.1.1.1], то постфикс вместо локальной доставки письма будет долбиться на 1.1.1.1 по SMTP.

Так что я думаю и обратная схема будет работать, когда умолчальный транспорт relay, а в transport_maps указывать virtual.

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