Различия

Показаны различия между двумя версиями страницы.


Предыдущая версия
postfix._pochtovyj_server_dlja_odnogo_domena._bez_ispolzovanija_bd [2025/07/06 12:39] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Почтовый сервер Postfix для одного домена, без использования базы данных ======
 +{{htmlmetatags>
 +metatag-description=(Настройка почтового сервера Postfix для одного домена, без использования базы данных.)
 +}}
  
 +**Окружение**: [[Ubuntu]] 12.04.3 LTS, Postfix 2.9.6
 +
 +**Задача.** Настроить почтовый сервер для одного домена с виртуальными пользователями, используя связку Postfix, [[Dovecot]], плоские файлы вместо баз данных для управления пользователями почтового сервера.
 +==== Подготовка окружения ====
 +Настройка [[DNS]] для правильной работы почтового сервера. Должны быть настроены записи: A, PTR, МХ, SPF.
 +  * DNS: запись PTR [[hostname, reverse DNS]]
 +  * DNS: запись [[SPF]]
 +  * [[NTP]] настройка системного времени.
 +==== Postfix ====
 +  * Установка Postfix.<file>
 +# aptitude install postfix
 +</file>
 +  * Установщик спросит о типе настраиваемого сервера, в нашем случае нужно выбрать "Интернет-сайт: Почта отправляется и принимается напрямую с использованием SMTP." На следующем шаге нужно ввести системное почтовое имя, обычно оно соответствует FQDN- имени вашего сервера (см. DNS: [[hostname, reverse DNS]]).
 +  * [[newaliases]] - перенаправление сообщений для root в другой почтовый ящик
 +<note>На этом этапе у нас получился рабочий [[SMTP]] сервер. По большому счету в такой настройки только два неудобства: первое каждый почтовый пользователь должен быть создан в операционной системе, например при помощи утилиты [[useradd]] и пересылка настраивается при помощи [[newaliases]]; второе email можно прочитать/получить/отправить только через консоль при помощи, например утилиты [[mailx]].</note>
 +  * Postfix и Submission ([[RFC]] 4409, RFC 2476). Включить дополнительно к SMTP (порт 25) Submission (порт 587), который предназначен согласно RFC 2476 для приёма новых писем от клиентов (например [[Thunderbird]]), чтобы не перегружать данной работой основной, 25-й порт, служащий для пересылки сообщений между серверами.<file>
 +# nano /etc/postfix/master.cf
 +submission inet n                               smtpd
 +</file>
 +  * Настройка виртуального домена(-ов) и виртуальных пользователей (т.е. без заведения в ОС).<file>
 +
 +## GID UID = user postfix
 +virtual_uid_maps = static:107
 +virtual_gid_maps = static:115
 +virtual_minimum_uid = 107
 +virtual_transport = virtual
 +
 +virtual_mailbox_base = /home/vmail
 +virtual_mailbox_domains = example.com
 +virtual_mailbox_maps = hash:/etc/postfix/virtual_maildir_recipients.cf
 +virtual_alias_maps = hash:/etc/postfix/virtual_maildir_aliases.cf
 +</file>Файл virtual_maildir_recipients.cf:<file>
 +sales@example.com   example.com/sales/
 +chief@example.com   example.com/chief/
 +</file>Файл virtual_maildir_aliases.cf (через запятую можно указать несколько адресов для пересылки):<file>
 +abuse@example.com           chief@example.com
 +postmaster@example.com      chief@example.com
 +webmaster@example.com       chief@example.com
 +billing@example.com         sales@example.com
 +sales@example.com           sales@example.com,chief@example.com
 +</file>
 +<note>На этом этапе у нас получился рабочий SMTP сервер не требующий заведения пользователя в ОС. Достаточно указать его в файле virtual_maildir_recipients.cf и переиндексировать утилитой postmap.</note>
 +==== SMTP AUTH ====
 +SMTP аутентификация ([[smtp#komanda_auth|SMTP AUTH]]) позволяет авторизованным почтовым клиентам с динамическими IP адресами пересылать сообщения через ваш сервер, не превращая его в открытый ретранслятор.
 +
 +Чтобы узнать какие библиотеки SASL поддерживает Postfix используйте ключ -а<file>
 +# postconf -a
 +cyrus
 +dovecot
 +</file>
 +  - Включим поддержку SMTP AUTH в Postfix, для этого в main.cf добавим строки<file>
 +# SMTP AUTH Dovecot
 +smtpd_sasl_auth_enable = yes
 +smtpd_sasl_security_options = noanonymous
 +smtpd_sasl_type = dovecot
 +smtpd_sasl_path = private/auth
 +# Block old clients
 +broken_sasl_auth_clients = no
 +</file>
 +  - Настроим SMTP AUTH в Postfix при помощи [[Dovecot]] SASL.
 +  - [[telnet#telnet_i_smtp|Telnet]] и тестирование SMTP AUTH. Альтернативой telnet для тестирования SMTP служит утилита swaks: <file>aptitude install swaks</file>
 +
 +<note>На этом этапе у нас получился рабочий SMTP сервер с поддержкой SMTP AUTH. SSL/TLS не настроено, поэтому имена пользователей и пароли передаются в не зашифрованном виде, что допустимо только в качестве тестовых целей. В настоящее время настройка SSL/TLS обязательна.</note>
 +==== TLS ====
 +  * [[openssl]] и MTA. Тестирование почтовых серверов с использованием зашифрованного соединения.

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!