Назад | Перейти на главную страницу

Postfix пересылка почты с виртуальными почтовыми ящиками

У меня есть настройка почтового сервера для использования postfix и cyrus imapd + ldap для поиска почты.

Теперь я хотел бы указать это для конкретного адреса (например, someuser@domain.com) вместо того, чтобы доставлять почту в почтовый ящик, она передается скрипту (точнее, скрипту ruby). Мне нужна эта функция, так как я хотел бы, чтобы письма передавались на конкретный адрес и попадали на наш сервер redmine. Как это сделать?

В настоящее время я в main.cf:

...
mydestination = $mydomain, mail.$mydomain
local_recipient_maps = ldap:/etc/postfix/ldapvirtual.cf
local_transport = lmtp:unix:/var/lib/imap/socket/lmtp
...

/etc/postfix/ldapvirtual.cf - файл конфигурации LDAP для поиска почтовых адресов.

Что мне нужно настроить на postfix?

В master.cf вы создаете новую конфигурацию "ruby" для сценария ruby ​​для приема почты. Это делается через pipe как описано в http://www.postfix.org/pipe.8.html Вы, наверное, уже можете видеть некоторые примеры (с pipe в последнем столбце) в вашем текущем master.cf. Но как его настроить, зависит от скрипта ruby ​​и соответствующей системной среды.

Тогда вам понадобится файл (например) /etc/postfix/transport_maps с содержанием

someuser@example.com    ruby:
other@example.net    ruby:

Это будет передавать почту для этих людей на рубиновый транспорт, который вы настроили в master.cf пока вы назвали его «рубином». Тогда беги postmap /etc/postfix/transport_maps.

После этого вам понадобится новая строка в main.cf с участием

transport_maps = hash:/etc/postfix/transport_maps

Перезагрузите демон Postfix. С этого момента настроенные адреса проходят через ruby, а остальные - через транспорт, настроенный с помощью local_transport.