Complete Virtual Mail Server/Postfix to Database/ru

Установка postfix
Установка postfix довольно проста. Необходимо выполнить базовые инструкции по установке postfix.

Подключение postfix
После того как очень минимальная настройка postfix была произведена, настало время подключить его к базе данных.

PostgreSQL
Необходим пользователь в базе данных для осуществления запросов:

Также пользователю postfix необходимы некоторые разрешения, чтобы производить операции над таблицами:

MySQL
В случае использования MySQL вместо PostgreSQL, выполните следующие инструкции. Загрузите SQL dump и сохраните его как. Он понадобится в ближайшее время.

Сперва установите MySQL:

Создайте начальную базу данных:

Следуйте инструкциям на экране, чтобы добавить пароль root в MySQL, так как иначе база данных будет доступна всем.

Запустите сервер базы данных MySQL и создайте базу данных с именем :

Запустите клиент, чтобы предоставить соответствующие права к базе данных :

Проверьте, что новый пользователь может подключиться к серверу mysql:

Новая база данных содержит значения по умолчанию и таблицы, настроенные для двух доменов. База данных содержит следующие таблицы:


 * alias - local email alias and mailman alias information.
 * relocated - relocated user email address maps
 * transport - default mail transport information for all domains you are hosting
 * users - all user account information
 * virtual - virtual domain email alias maps

Значения uid и gid в  должны соответствовать uid и gid пользователя и группы.

Запросы
All these queries are tested on the database to ensure the queries are written properly. This does require however that the database has been filled to be useful. When postfixadmin is used, this can be done easily from the UI. Otherwise, simple SQL queries need to be written and executed.

PostgreSQL
Linking postfix to a database isn't that special, postfix just executes predefined SQL routines. These SQL queries will be stored in a file per query in a directory.

Be aware that any errors in the configuration information in these files can be pretty tricky to track down. Be meticulous with both the contents of the files and their names. Many errors in these files will be announced in the mail log such as "user example@example.com doesn't exist" without any further explanation.

Лучше протестировать запрос к базе данных (с помощью копирования вставки), чтобы гарантировать отсутствие опечаток в запросе:

Также здесь лучше всего выполнить запрос в базе данных:

Запустите запрос к базе данных, чтобы проверить вывод:

MySQL
Set up the necessary configurations for postfix to interact with the database for all its other transport needs. Remember to replace each value with the name of the proper user, user id, password, alias, email address, and so on.

Права доступа
Только postfix должен иметь доступ к этим файлам, так как они содержат пароли:

MySQL/MariaDB
As of Postfix 2.0.x, there were a number of significant changes over the 1.1.x release. Notably the transport, virtual-gid, and virtual-uid tables are no longer necessary. The tables are still included to support potential different use cases.

Проверка подключения к базе данных
Необходимо перезапустить postfix, чтобы появилось подключение к базе данных:

Проверьте файл на наличие любых проблем. Например неправильные разрешения.

С помощью telnet можно проверить почтовый сервер снова, чтобы проверить правильно ли база данных подключена: