32 KiB
| title | date | draft | description | tags | categories | series | series_order | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Почтовый сервер на Debian 12: полное руководство от установки до production. Часть 4 - Шифрование и репутация отправителя | 2026-04-19 | false | Настройка TLS через Let's Encrypt, DKIM подписей, SPF и DMARC записей. Шифрование всех соединений SMTP/IMAP, повышение репутации отправителя для защиты от попадания в спам. |
|
|
|
4 |
Шифрование и репутация отправителя
Почтовый сервер работает, защита от спама настроена. Но есть две критичные проблемы:
- Пароли передаются открытым текстом - любой перехватчик трафика видит учетные данные
- Письма улетают в спам - у Gmail/Outlook нет доверия к твоему серверу
Сейчас исправим: настроим шифрование всех соединений (TLS) и добавим цифровые подписи (DKIM + SPF + DMARC).
Перед началом
У тебя должно быть:
- Рабочий Postfix + Dovecot
- Защита (Amavis, антивирус, антиспам)
- Домен с доступом к DNS (возможность добавлять TXT-записи)
- Порты 80 и 443 открыты (для валидации Let's Encrypt)
Проверь что сервер доступен по имени:
ping mail.example.com
Должен отвечать твой IP.
Установка Let's Encrypt (Certbot)
Let's Encrypt выдает бесплатные SSL/TLS сертификаты на 90 дней с автоматическим продлением.
Установка Certbot
sudo apt install -y certbot
Получение сертификата
Certbot должен проверить что ты владеешь доменом. Используем standalone режим (временный веб-сервер на порту 80).
Останови Apache/Nginx если запущены:
sudo systemctl stop apache2 nginx
(Если их нет - игнорируй ошибку)
Получи сертификат:
sudo certbot certonly --standalone -d mail.example.com
Замени mail.example.com на свое полное имя хоста.
Certbot спросит:
- Email для уведомлений (укажи рабочий email)
- Согласие с Terms of Service (Yes)
- Подписка на новости (No)
Вывод:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/mail.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/mail.example.com/privkey.pem
Your certificate will expire on ... To obtain a new or
tweaked version of this certificate in the future, simply run
certbot again. To non-interactively renew *all* of your
certificates, run "certbot renew"
Сертификат получен! Срок действия: 90 дней.
Права на ключи
Postfix и Dovecot должны читать приватный ключ:
sudo chmod 755 /etc/letsencrypt/live
sudo chmod 755 /etc/letsencrypt/archive
Автообновление сертификата
Certbot автоматически создает cronjob для обновления. Проверь:
sudo systemctl status certbot.timer
Должен быть active (running).
Тест автообновления:
sudo certbot renew --dry-run
Если вывод заканчивается на:
Congratulations, all simulated renewals succeeded:
/etc/letsencrypt/live/mail.example.com/fullchain.pem (success)
Автообновление настроено правильно.
Настройка TLS для Postfix
Postfix будет использовать сертификат Let's Encrypt для шифрования SMTP соединений.
Настройка main.cf
Открой:
sudo nano /etc/postfix/main.cf
Добавь в конец:
# TLS параметры
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_tls_security_level=may
smtpd_tls_auth_only=yes
smtpd_tls_protocols=!SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_ciphers=high
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_mandatory_ciphers=high
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_loglevel = 1
# TLS для исходящих соединений
smtp_tls_security_level=may
smtp_tls_protocols=!SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtp_tls_ciphers=high
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_loglevel = 1
Замени mail.example.com на свое имя хоста.
Что настроили:
Входящие соединения (smtpd):
smtpd_tls_security_level=may- TLS опционально (старые клиенты без TLS смогут подключиться)smtpd_tls_auth_only=yes- SASL AUTH только через TLS (пароли не передаются открытым текстом)smtpd_tls_protocols- запретить устаревшие протоколы (SSLv2/v3, TLS 1.0/1.1)smtpd_tls_ciphers=high- только сильные шифры
Исходящие соединения (smtp):
smtp_tls_security_level=may- пытаться использовать TLS при отправке на другие серверы- Аналогичные ограничения по протоколам и шифрам
Настройка master.cf для submission (порт 587)
Открой:
sudo nano /etc/postfix/master.cf
Найди секцию submission inet (должна быть из Части 2).
Убедись что есть:
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject_unauth_destination
Ключевое: -o smtpd_tls_security_level=encrypt - обязательное шифрование на порту 587.
Перезапуск Postfix
Проверь конфиг:
sudo postfix check
Если ошибок нет:
sudo postfix reload
sudo systemctl restart postfix
Проверь порты:
sudo ss -tulnp | grep master
Должно быть:
tcp LISTEN 0 100 0.0.0.0:25 ... master
tcp LISTEN 0 100 0.0.0.0:587 ... master
Настройка TLS для Dovecot
Dovecot будет использовать тот же сертификат для IMAP.
Настройка 10-ssl.conf
Открой:
sudo nano /etc/dovecot/conf.d/10-ssl.conf
Найди и измени:
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
ssl_min_protocol = TLSv1.2
ssl_cipher_list = HIGH:!aNULL:!MD5
ssl_prefer_server_ciphers = yes
Замени mail.example.com на свое имя хоста.
Что настроили:
ssl = required- TLS обязателен (без шифрования нельзя)ssl_min_protocol = TLSv1.2- минимум TLS 1.2 (запретить старые)ssl_cipher_list = HIGH- только сильные шифры
Настройка портов IMAPS
Открой:
sudo nano /etc/dovecot/conf.d/10-master.conf
Найди секцию service imap-login и настрой:
service imap-login {
inet_listener imap {
port = 0
}
inet_listener imaps {
port = 993
ssl = yes
}
}
Что изменили:
port = 0для IMAP (143) - отключили незашифрованный IMAPport = 993для IMAPS - включили зашифрованный IMAP
Перезапуск Dovecot
sudo systemctl restart dovecot
Проверь порты:
sudo ss -tulnp | grep dovecot
Должно быть:
tcp LISTEN 0 100 0.0.0.0:993 0.0.0.0:* users:(("dovecot",pid=...,fd=35))
Порта 143 (IMAP) не должно быть - только 993 (IMAPS).
Тестирование TLS
Тест 1: Проверка сертификата SMTP
openssl s_client -connect mail.example.com:587 -starttls smtp
В выводе должно быть:
...
Server certificate
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
subject=CN = mail.example.com
issuer=C = US, O = Let's Encrypt, CN = R3
...
И в конце:
Verify return code: 0 (ok)
Код 0 - сертификат валиден.
Нажми Ctrl+C для выхода.
Тест 2: Проверка сертификата IMAPS
openssl s_client -connect mail.example.com:993
Аналогично - должно быть Verify return code: 0 (ok).
Тест 3: Проверка что незашифрованный IMAP отключен
telnet mail.example.com 143
Должно быть:
Trying...
telnet: Unable to connect to remote host: Connection refused
Правильно - порт 143 закрыт, только 993 (IMAPS) работает.
Установка OpenDKIM
DKIM (DomainKeys Identified Mail) - цифровая подпись исходящих писем. Получатель проверяет подпись через DNS и доверяет отправителю.
Установка пакета
sudo apt install -y opendkim opendkim-tools
Создание директорий и ключей
sudo mkdir -p /etc/opendkim/keys/example.com
cd /etc/opendkim/keys/example.com
Замени example.com на свой домен.
Генерация ключа:
sudo opendkim-genkey -s mail -d example.com
Где:
-s mail- selector (имя ключа, можно любое, обычноmailилиdefault)-d example.com- твой домен
Созданы файлы:
mail.private- приватный ключ (хранится на сервере)mail.txt- публичный ключ (добавляется в DNS)
Права на приватный ключ:
sudo chown opendkim:opendkim mail.private
sudo chmod 600 mail.private
Настройка opendkim.conf
Открой:
sudo nano /etc/opendkim.conf
Найди и измени/добавь:
# Логирование
Syslog yes
SyslogSuccess yes
LogWhy yes
# Режим работы
Mode sv
Canonicalization relaxed/simple
# Внутренние хосты
InternalHosts /etc/opendkim/TrustedHosts
# Сокет для Postfix
Socket inet:8891@localhost
# Подпись заголовков
SignatureAlgorithm rsa-sha256
OversignHeaders From
# Таблицы ключей и доменов
KeyTable /etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Что настроили:
Mode sv- sign (подписывать) и verify (проверять)Socket inet:8891@localhost- Postfix подключается сюдаSignatureAlgorithm rsa-sha256- алгоритм подписиKeyTableиSigningTable- таблицы для поддержки нескольких доменов
Создание KeyTable
sudo nano /etc/opendkim/KeyTable
Добавь:
mail._domainkey.example.com example.com:mail:/etc/opendkim/keys/example.com/mail.private
Замени example.com на свой домен (3 раза в строке).
Формат: selector._domainkey.domain domain:selector:путь_к_ключу
Создание SigningTable
sudo nano /etc/opendkim/SigningTable
Добавь:
*@example.com mail._domainkey.example.com
*@mail.example.com mail._domainkey.example.com
Замени example.com на свой домен.
Что настроили:
- Первая строка - подписывать письма от
user@example.com - Вторая строка - подписывать письма от
user@mail.example.com
Это покрывает оба варианта адресов.
Настройка TrustedHosts
Создай файл:
sudo nano /etc/opendkim/TrustedHosts
Добавь:
127.0.0.1
localhost
192.168.0.0/16
10.0.0.0/8
*.example.com
example.com
mail.example.com
Замени example.com на свой домен.
Это список хостов/сетей которые могут отправлять через DKIM.
Перезапуск OpenDKIM
sudo systemctl enable opendkim
sudo systemctl start opendkim
sudo systemctl status opendkim
Должен быть active (running).
Проверь сокет:
sudo ss -tulnp | grep 8891
Должно быть:
tcp LISTEN 0 4096 127.0.0.1:8891 0.0.0.0:* users:(("opendkim",pid=...,fd=3))
Интеграция OpenDKIM с Postfix
Postfix должен отправлять письма через OpenDKIM для подписи.
Настройка main.cf
Открой:
sudo nano /etc/postfix/main.cf
Добавь в конец:
# DKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Что настроили:
smtpd_milters- письма от клиентов идут через OpenDKIMnon_smtpd_milters- письма от локальных процессов тоже идут через OpenDKIMmilter_default_action = accept- если OpenDKIM недоступен, письма все равно отправляются
Перезапуск Postfix
sudo postfix reload
DNS записи для DKIM
OpenDKIM создал публичный ключ в файле mail.txt.
Посмотри:
sudo cat /etc/opendkim/keys/example.com/mail.txt
Вывод:
mail._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..." )
Скопируй строку p=MIIBIjAN... (весь ключ, может быть многострочный).
Добавление записи в DNS
Зайди в панель управления DNS своего домена (Cloudflare, reg.ru, и т.д.).
Добавь TXT запись:
Имя (Name):
mail._domainkey
Значение (Value):
v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
Важно:
- Убери скобки
( )и кавычки" - Оставь только
v=DKIM1; h=sha256; k=rsa; p=...одной строкой - TTL: 3600 или по умолчанию
Проверка DNS
Подожди 5-10 минут для распространения DNS.
Проверь:
dig mail._domainkey.example.com TXT +short
Должно вернуть:
"v=DKIM1; h=sha256; k=rsa; p=MIIBIjAN..."
Если пусто - подожди еще, DNS может распространяться до 24 часов.
DNS записи SPF
SPF (Sender Policy Framework) - список серверов которым разрешено отправлять письма от твоего домена.
Добавление SPF записи
В DNS добавь TXT запись:
Имя (Name):
@
(или пусто, или example.com - зависит от провайдера DNS)
Значение (Value):
v=spf1 mx ~all
Что означает:
v=spf1- версия SPFmx- серверы из MX записи могут отправлять~all- soft fail для остальных (помечать как подозрительное, но не отклонять)
Проверка SPF
dig example.com TXT +short
Должно быть:
"v=spf1 mx ~all"
DNS записи DMARC
DMARC (Domain-based Message Authentication, Reporting & Conformance) - политика обработки писем которые не прошли SPF/DKIM проверку.
Добавление DMARC записи
В DNS добавь TXT запись:
Имя (Name):
_dmarc
Значение (Value):
v=DMARC1; p=none; rua=mailto:postmaster@example.com
Замени postmaster@example.com на свой email для отчетов.
Что означает:
v=DMARC1- версия DMARCp=none- политика: не отклонять письма, только собирать статистикуrua=mailto:...- email для агрегированных отчетов
После тестирования можно ужесточить до p=quarantine (в спам) или p=reject (отклонять).
Проверка DMARC
dig _dmarc.example.com TXT +short
Должно быть:
"v=DMARC1; p=none; rua=mailto:postmaster@example.com"
Тестирование DKIM подписи
Для тестирования нужен инструмент который эмулирует реального пользователя с почтовым клиентом.
Установка swaks
swaks (Swiss Army Knife for SMTP) - инструмент для тестирования SMTP с авторизацией.
sudo apt install -y swaks
Тест 1: Отправка письма самому себе
swaks --to admin@example.com \
--from admin@example.com \
--auth-user admin@example.com \
--auth-password 'пароль_admin' \
--server 127.0.0.1 \
--port 587 \
--tls \
--header "Subject: DKIM Test Internal" \
--body "Testing DKIM signature"
Замени:
admin@example.com- на своего пользователяпароль_admin- на реальный пароль пользователя
Проверь что письмо подписано:
sudo cat /var/mail/example.com/admin/new/* | grep -i "DKIM-Signature"
Должно быть:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=example.com;
s=mail; t=...;
bh=...;
h=From:To:Subject:Date;
b=...
Наличие заголовка DKIM-Signature - письмо подписано.
Тест 2: Отправка на внешний ящик (Gmail/Yandex)
Отправь письмо на свой Gmail или Yandex:
swaks --to your-email@gmail.com \
--from admin@example.com \
--auth-user admin@example.com \
--auth-password 'пароль_admin' \
--server 127.0.0.1 \
--port 587 \
--tls \
--header "Subject: DKIM External Test" \
--body "Testing DKIM, SPF, DMARC"
Открой письмо в Gmail → Show original → смотри заголовки.
Должно быть:
DKIM: 'PASS' with domain example.com
SPF: 'PASS' with IP <ip-твоего-сервера>
DMARC: 'PASS'
Все три теста PASS - конфигурация правильная.
Тест 3: Полная проверка через mail-tester.com
Mail-tester - сервис который выставляет оценку от 0 до 10/10 на основе:
- DKIM подпись
- SPF проверка
- DMARC политика
- Blacklist проверка
- Содержимое письма
- PTR запись
Лимит: 3 бесплатных теста в день.
Шаг 1: Получи тестовый адрес
Зайди на https://www.mail-tester.com. На странице будет тестовый адрес типа:
test-abc123xyz@srv1.mail-tester.com
Этот адрес уникальный и меняется при каждом посещении страницы.
Шаг 2: Отправь письмо
swaks --to test-abc123xyz@srv1.mail-tester.com \
--from admin@example.com \
--auth-user admin@example.com \
--auth-password 'пароль_admin' \
--server 127.0.0.1 \
--port 587 \
--tls \
--header "Subject: Mail Server Test" \
--body "Testing complete mail server configuration"
Замени test-abc123xyz@srv1.mail-tester.com на адрес со страницы mail-tester.com.
Шаг 3: Проверь результат
Подожди 10-20 секунд, обнови страницу mail-tester.com (или нажми кнопку "Затем проверьте оценку").
Целевая оценка: 9-10/10
Если PTR запись не настроена у провайдера - будет 8-9/10 (это нормально на этапе настройки).
Что должно быть в отчёте:
DKIM:
DKIM signature: PASS
Domain: example.com
Selector: mail
SPF:
SPF check: PASS
IP authorized to send mail for example.com
DMARC:
DMARC policy: PASS
Alignment: pass (From Domain = DKIM Domain)
Not blacklisted:
Your IP is not blacklisted
Если оценка < 8/10:
Смотри что не прошло в отчёте:
- DKIM FAIL → Проверь DNS
mail._domainkey.example.comTXT - SPF FAIL → Проверь SPF
example.comTXT =v=spf1 mx ~all - DMARC FAIL → From Domain не совпадает с DKIM Domain (проверь SigningTable)
- Blacklisted → IP в блэклисте, проверь на https://mxtoolbox.com/blacklists.aspx
- No PTR → Настрой reverse DNS у провайдера (даёт -1 балл, не критично)
- SpamAssassin high score → Проверь содержимое письма
Альтернатива: MXToolbox Email Health
Если mail-tester.com недоступен:
Зайди на https://mxtoolbox.com/emailhealth/
Получи тестовый адрес, отправь через swaks аналогично.
Автоматическое обновление сертификата
Let's Encrypt сертификаты действуют 90 дней. Certbot автоматически обновляет их через systemd timer.
Проверка таймера
sudo systemctl status certbot.timer
Должен быть active (running).
Посмотри когда следующий запуск:
sudo systemctl list-timers | grep certbot
Вывод:
Mon 2026-04-20 10:06:40 MSK 12h left Sun 2026-04-19 17:55:37 MSK 4h 8min ago certbot.timer certbot.service
Настройка хука для перезапуска сервисов
После обновления сертификата Postfix и Dovecot должны перезапуститься.
Создай хук:
sudo nano /etc/letsencrypt/renewal-hooks/deploy/reload-services.sh
Добавь:
#!/bin/bash
systemctl reload postfix
systemctl restart dovecot
Права на выполнение:
sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/reload-services.sh
Теперь после каждого обновления сертификата Postfix и Dovecot автоматически перезапустятся.
Тест обновления
sudo certbot renew --dry-run
Если вывод:
Congratulations, all simulated renewals succeeded
Автообновление настроено правильно.
Проверка открытых портов
Убедись что нужные порты открыты в firewall:
sudo ufw status
Должно быть:
25/tcp ALLOW Anywhere
587/tcp ALLOW Anywhere
993/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere (для Let's Encrypt)
443/tcp ALLOW Anywhere (для будущего RoundCube)
Если чего-то нет:
sudo ufw allow 587/tcp
sudo ufw allow 993/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
PTR (Reverse DNS)
PTR запись критично важна для репутации почтового сервера.
Что такое PTR
Reverse DNS (rDNS) - сопоставление IP адреса с доменным именем.
Проверка:
dig -x ваш-IP-адрес +short
Должно вернуть:
mail.example.com
Настройка PTR
PTR запись настраивается у хостинг-провайдера, не в DNS панели домена.
Обратись в техподдержку провайдера с запросом:
Прошу настроить PTR (reverse DNS) запись:
IP: ваш-IP-адрес
PTR: mail.example.com
Обычно настройка применяется за 1-24 часа.
Проверка после настройки
dig -x ваш-IP-адрес +short
Должно вернуть mail.example.com.
Без PTR записи письма могут попадать в спам у большинства серьезных провайдеров.
Типичные проблемы
Let's Encrypt не может получить сертификат
Ошибка:
Failed authorization procedure. mail.example.com (http-01): ...
Причины:
- Порт 80 закрыт - проверь
sudo ufw status, откройsudo ufw allow 80/tcp - DNS не указывает на сервер - проверь
dig mail.example.com +short, должен быть твой IP - Другой веб-сервер занимает порт 80 - останови его перед запуском certbot
Проверь доступность:
curl http://mail.example.com
Должен отвечать (или 404, главное что порт открыт).
Postfix не запускается после настройки TLS
Проверь логи:
sudo journalctl -u postfix -n 50
Частые ошибки:
"permission denied" на ключах:
sudo chmod 755 /etc/letsencrypt/live
sudo chmod 755 /etc/letsencrypt/archive
sudo systemctl restart postfix
Неправильный путь к сертификату:
Проверь что путь в main.cf совпадает с выводом certbot certificates.
OpenDKIM не подписывает письма
Проверь что OpenDKIM запущен:
sudo systemctl status opendkim
Проверь логи:
sudo journalctl -u opendkim -n 50
Частые ошибки:
"can't open private key":
sudo chown opendkim:opendkim /etc/opendkim/keys/example.com/mail.private
sudo chmod 600 /etc/opendkim/keys/example.com/mail.private
sudo systemctl restart opendkim
Postfix не подключается к OpenDKIM:
Проверь сокет:
sudo ss -tulnp | grep 8891
Если пусто - OpenDKIM не слушает. Проверь Socket в /etc/opendkim.conf.
DKIM проверка не проходит (DKIM: FAIL)
Причины:
- Публичный ключ не в DNS
Проверь:
dig mail._domainkey.example.com TXT +short
Если пусто - добавь запись, подожди распространения DNS.
- Selector не совпадает
В /etc/opendkim/KeyTable должно быть mail._domainkey.example.com.
В DNS запись должна быть mail._domainkey.example.com.
- Публичный ключ неправильный
Проверь что в DNS точно тот ключ из /etc/opendkim/keys/example.com/mail.txt (без скобок и кавычек).
SPF проверка не проходит (SPF: FAIL)
Проверь SPF запись:
dig example.com TXT +short
Должно быть:
"v=spf1 mx ~all"
Если письмо отправляется с IP который НЕ в MX:
v=spf1 mx ip4:ваш-IP ~all
Добавь IP явно.
Письма все равно попадают в спам
Проверь через DKIM Validator (см. "Тест 3" выше).
Типичные проблемы:
- PTR запись отсутствует - настрой у провайдера
- IP в блэклистах - проверь на https://mxtoolbox.com/blacklists.aspx
- Нет DMARC - добавь
_dmarcTXT запись - Содержимое письма спамное - SpamAssassin дает много баллов
Дай серверу поработать 1-2 недели - репутация IP растет постепенно.
Certbot не обновляет сертификат автоматически
Проверь таймер:
sudo systemctl status certbot.timer
Если inactive (dead):
sudo systemctl enable certbot.timer
sudo systemctl start certbot.timer
Проверь что хук работает:
sudo certbot renew --dry-run
В выводе должно быть:
Running deploy hook command: /etc/letsencrypt/renewal-hooks/deploy/reload-services.sh
Что получилось
Сейчас у тебя:
Работает:
- Все соединения зашифрованы (TLS 1.2+)
- Пароли не передаются открытым текстом
- Письма подписываются DKIM
- SPF защищает от подделки домена
- DMARC контролирует политику
- Сертификаты автоматически обновляются каждые 90 дней
Репутация:
- Gmail/Outlook доверяют твоим письмам
- Вероятность попадания в спам снижена на 80-90%
- SPF, DKIM, DMARC - все на месте
- (PTR добавит еще +10% после настройки у провайдера)
Проблемы:
- Нет веб-интерфейса для работы с почтой
- Пользователи хранятся в файлах (не масштабируется)
- Нет удобного управления ящиками
Это production-ready сервер с шифрованием и репутацией.
Следующий шаг
В следующей части добавим веб-интерфейс:
- RoundCube webmail (работа с почтой через браузер)
- Apache + PHP 8.2
- Плагины для смены паролей и фильтров Sieve
- Интеграция с Postfix/Dovecot
После этого сервером можно будет пользоваться без настройки почтовых клиентов.
