Postfix настройка · 3 min read · Jan 12, 2026

Виртуальные пользователи и домены с Postfix, Courier, MySQL и SquirrelMail (Debian Squeeze) - Страница 4

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

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

telnet localhost 25

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

ehlo localhost

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

250-STARTTLS

и

250-AUTH LOGIN PLAIN

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

root@server1:/usr/local/sbin# telnet localhost 25  
 Попытка 127.0.0.1...  
 Подключено к localhost.localdomain.  
 Символ выхода '^]'.  
 220 server1.example.com ESMTP Postfix (Debian/GNU)  
 ehlo localhost  
 250-server1.example.com  
 250-PIPELINING  
 250-SIZE 10240000  
 250-VRFY  
 250-ETRN  
 250-STARTTLS  
 250-AUTH LOGIN PLAIN  
 250-AUTH=LOGIN PLAIN  
 250-ENHANCEDSTATUSCODES  
 250-8BITMIME  
 250 DSN  
 quit  
 221 2.0.0 Пока  
 Соединение закрыто удаленным хостом.  
 root@server1:/usr/local/sbin#

Введите

quit

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

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

Чтобы заполнить базу данных, вы можете использовать оболочку 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

после того, как вы внесли изменения в таблицу транспорта.

14 Отправка приветственного электронного письма для создания Maildir

Когда вы создаете новую учетную запись электронной почты и пытаетесь получить электронные письма из нее (с помощью POP3/IMAP), вы, вероятно, получите сообщения об ошибках, говорящие о том, что Maildir не существует. Maildir создается автоматически, когда приходит первое электронное письмо для новой учетной записи. Поэтому хорошей идеей будет отправить приветственное электронное письмо на новую учетную запись.

Сначала мы устанавливаем пакет mailx:

apt-get install mailutils

Чтобы отправить приветственное электронное письмо на [email protected], мы делаем это:

mailx [email protected]

Вам будет предложено ввести тему. Введите тему (например, Приветствие), затем нажмите ENTER, а в следующей строке введите ваше сообщение. Когда сообщение будет завершено, снова нажмите ENTER, чтобы вы оказались на новой строке, затем нажмите CTRL+D; если вы не хотите отправлять копию письма, снова нажмите ENTER:

root@server1:/usr/local/sbin# mailx [email protected]
Тема: Приветствие <– ENTER
Привет! Удачи с вашей новой учетной записью электронной почты. <– ENTER
<– CTRL+D
Копия: <– ENTER
root@server1:/usr/local/sbin#

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.