Postfix · 3 min read · Oct 11, 2025

Виртуальные пользователи и домены с Postfix, Courier и MySQL (CentOS 5.1) - Страница 5

14 Тестирование Postfix

Чтобы проверить, готов ли Postfix к SMTP-AUTH и TLS, выполните

telnet localhost 25

После того как вы установили соединение с вашим почтовым сервером Postfix, введите

ehlo localhost

Если вы видите строки

*250-STARTTLS *

и

*250-AUTH PLAIN LOGIN *

все в порядке.

[root@server1 ~]# telnet localhost 25  
Trying 127.0.0.1...  
Connected to localhost.localdomain (127.0.0.1).  
Escape character is '^]'.  
220 server1.example.com ESMTP Postfix  
ehlo localhost  
250-server1.example.com  
250-PIPELINING  
250-SIZE 10240000  
250-VRFY  
250-ETRN  
250-STARTTLS  
250-AUTH PLAIN LOGIN  
250-AUTH=PLAIN LOGIN  
250-ENHANCEDSTATUSCODES  
250-8BITMIME  
250 DSN  
quit  
221 2.0.0 Bye  
Connection closed by foreign host.  
[root@server1 ~]#

Введите

quit

чтобы вернуться в оболочку системы.

15 Заполнение базы данных и тестирование

Чтобы заполнить базу данных, вы можете использовать оболочку MySQL:

mysql -u root -p  
USE mail;

По крайней мере, вам нужно создать записи в таблицах domains и users:

INSERT INTO `domains` (`domain`) VALUES ('example.com');  
INSERT INTO `users` (`email`, `password`, `quota`) VALUES ('[email protected]', ENCRYPT('secret'), 10485760);

(Пожалуйста, убедитесь, что вы используете синтаксис ENCRYPT во втором операторе INSERT для шифрования пароля!)

Если вы хотите сделать записи в других двух таблицах, это будет выглядеть так:

INSERT INTO `forwardings` (`source`, `destination`) VALUES ('[email protected]', '[email protected]');  
INSERT INTO `transport` (`domain`, `transport`) VALUES ('example.com', 'smtp:mail.example.com');

Чтобы выйти из оболочки MySQL, введите

quit;

Для большинства людей проще, если у них есть графический интерфейс для MySQL; поэтому вы также можете использовать phpMyAdmin (в этом примере по адресу http://192.168.0.100/phpmyadmin/ или http://server1.example.com/phpmyadmin/) для администрирования базы данных mail. Снова, когда вы создаете пользователя, убедитесь, что вы используете функцию ENCRYPT для шифрования пароля:

Я не думаю, что мне нужно дальше объяснять таблицы доменов и пользователей.

Таблица перенаправлений может иметь записи, подобные следующим:

sourcedestination
[email protected][email protected]Перенаправляет письма для [email protected] на [email protected]
@example.com[email protected]Создает учетную запись Catch-All для [email protected]. Все письма на example.com будут приходить на [email protected], за исключением тех, которые существуют в таблице пользователей (т.е. если [email protected] существует в таблице пользователей, письма на [email protected] все равно будут приходить на [email protected]).
@example.com@anotherdomain.tldЭто перенаправляет все письма на example.com на того же пользователя на anotherdomain.tld. Например, письма на [email protected] будут перенаправлены на [email protected].
[email protected][email protected], [email protected]Перенаправляет письма для [email protected] на два или более адресов электронной почты. Все указанные адреса электронной почты в поле назначения получают копию письма.

Таблица транспортировки может иметь записи, подобные этим:

domaintransport
example.com:Доставляет письма для example.com локально. Это как если бы эта запись вообще не существовала в этой таблице.
example.comsmtp:mail.anotherdomain.tldДоставляет все письма для example.com через smtp на сервер mail.anotherdomain.com.
example.comsmtp:mail.anotherdomain.tld:2025Доставляет все письма для example.com через smtp на сервер mail.anotherdomain.com, но на порту 2025, а не 25, который является стандартным портом для smtp.

| example.com | smtp:[1.2.3.4]
smtp:[1.2.3.4]:2025
smtp:[mail.anotherdomain.tld] | Квадратные скобки предотвращают выполнение Postfix поиска MX DNS записи для адреса в квадратных скобках. Имеет смысл для IP-адресов. | | .example.com | smtp:mail.anotherdomain.tld | Почта для любого поддомена example.com доставляется на mail.anotherdomain.tld. | | * | smtp:mail.anotherdomain.tld | Все письма доставляются на mail.anotherdomain.tld. | | [email protected] | smtp:mail.anotherdomain.tld | Письма для [email protected] доставляются на mail.anotherdomain.tld. |

Смотрите

man transport

для получения дополнительных сведений.

Пожалуйста, имейте в виду, что порядок записей в таблице транспортировки важен! Записи будут обрабатываться сверху вниз.

Важно: Postfix использует механизм кэширования для транспортов, поэтому может пройти некоторое время, прежде чем изменения в таблице транспортов вступят в силу. Если вы хотите, чтобы они вступили в силу немедленно, выполните

postfix reload

после внесения изменений в таблицу транспортов.

16 Ссылки

Учебник: Услуга электронной почты в стиле ISP с Debian-Sarge и Postfix 2.1: http://workaround.org/articles/ispmail-sarge/

Postfix + Квота: http://vhcs.net/new/modules/newbb/viewtopic.php?topic_id=3496&forum=17

Пароли электронной почты, зашифрованные с использованием saslauthd: http://www.syscp.de/docs/public/contrib/cryptedmailpws

17 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.