Продолжая статью по настройке DBMail(DBMail.
Почтовый сервер c MySQL хранилищем писем.), разберемся с совмещением Exim с DBMail.
Для работы с DBMail, Exim должен поддерживать MySQL. То есть собран должен быть из порта /usr/ports/mail/exim-mysql/.
Поскольку в базе DBMail присутствуют только email адреса, а список
доменов не настолько часто меняется и смысла помещать их в базу я не
вижу. База и так будет использоваться интенсивно для поиска реципиентов.
Поэтому ограничимся такими изменениями.
В первую очередь пропишем MySQL настройки сервера:
###################################################################### # TRANSPORTS CONFIGURATION # ###################################################################### # ORDER DOES NOT MATTER # # Only one appropriate transport is called for each delivery. # ######################################################################
А на место удаленных роутеров вставляем свои:
dbmail_alias: driver = redirect domains = +local_domains data = ${lookup mysql{select userid from dbmail_users where user_idnr=(select deliver_to from dbmail_aliases where alias='$local_part@$domain')}}
dbmail_users: driver = accept domains = +local_domains condition = ${lookup mysql{select userid from dbmail_users where userid='$local_part@$domain'}} transport = dbmail_transport
Теперь остается сделать транспорт, который по LMTP будет доставлять
почту. Помещаем такой код в секцию transports, к примеру после:
И теперь проверяем. Сначала маршрутизацию оригинального пользователя sh@hilik.org.ua:
exim -btsh@hilik.org.ua
в ответ видим:
sh@hilik.org.ua router = dbmail_users, transport = dbmail_transport
Все нормально. Теперь проверим работу алиасов:
exim -bt hilik@hilik.org.ua </pre и в ответ получим: <pre lang="bash"> sh@hilik.org.ua <-- hilik@hilik.org.ua router = dbmail_users, transport = dbmail_transport
Можно убедится, что произошло преобразование алиаса hilik@hilik.org.ua в sh@hilik.org.ua.
На этом настройка закончена.
Буду рад комментариям, постараюсь ответить на вопросы. Заходите на сайт http://www.hilik.org.ua/