Настройка SMTP-сервера на Debian
✅ Выполняй всё пошагово — и твой сервер заработает правильно!
📏 Шаг 1. Создание отдельного SMTP-пользователя
Чтобы безопасно отправлять письма через сервер, создадим отдельного пользователя.
Команды:
Создать пользователя без доступа к SSH:
adduser smtpuser --shell /usr/sbin/nologin
(задай пароль)
Проверить пользователя:
id smtpuser
Если нужно поменять пароль позже:
passwd smtpuser
✅ Теперь пользователь smtpuser
будет использоваться для аутентификации в SMTP.
📏 Шаг 2. Установка и настройка Postfix
Установка Postfix:
apt updateapt install postfix mailutils libsasl2-modules sasl2-bin
При установке выбери:
- Тип: Internet Site
- Имя системы почты:
mail.yourdomain.com
Базовая настройка Postfix (/etc/postfix/main.cf
):
Добавить или проверить:
myhostname = mail.yourdomain.commydestination = localhostinet_interfaces = allinet_protocols = ipv4smtpd_tls_cert_file = /etc/letsencrypt/live/mail.yourdomain.com/fullchain.pemsmtpd_tls_key_file = /etc/letsencrypt/live/mail.yourdomain.com/privkey.pemsmtpd_use_tls = yessmtpd_tls_security_level = maysmtp_tls_security_level = may
# Аутентификацияsmtpd_sasl_auth_enable = yessmtpd_sasl_security_options = noanonymoussmtpd_sasl_local_domain = $myhostnamebroken_sasl_auth_clients = yessmtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
Настроить SASL:
Создай файл /etc/postfix/sasl/smtpd.conf
:
mkdir -p /etc/postfix/saslnano /etc/postfix/sasl/smtpd.conf
Вставить в файл:
pwcheck_method: saslauthdmech_list: plain login
Включить и запустить saslauthd:
systemctl enable saslauthdsystemctl start saslauthd
Перезапустить Postfix:
systemctl restart postfix
✅ Теперь сервер готов принимать письма по SMTP с авторизацией!
📏 Шаг 3. Получение SSL-сертификата Let’s Encrypt (если ещё нет)
Установка certbot:
apt install certbot
Остановить Postfix на время получения:
systemctl stop postfix
Получить сертификат:
certbot certonly --standalone -d mail.yourdomain.com
Запустить обратно Postfix:
systemctl start postfix
✅ Теперь сервер использует безопасное шифрование TLS.
📏 Шаг 4. Подключение к SMTP-серверу в других сервисах
Когда сервер готов, можно использовать его для отправки писем с сайтов, CRM и скриптов.
Данные для подключения к SMTP:
Параметр | Значение |
---|---|
SMTP сервер (host) | mail.yourdomain.com |
Порт | 587 |
Шифрование | STARTTLS |
Логин | smtpuser |
Пароль | пароль от smtpuser |
✅ Теперь можно настроить любой сервис на отправку через ваш сервер.
📏 Пример: настройка отправки писем через SMTP в Gitea
В app.ini
Gitea нужно прописать:
[mailer]ENABLED = truePROTOCOL = smtpSMTP_ADDR = mail.yourdomain.comSMTP_PORT = 587USER = smtpuserPASSWD = парольFROM = Gitea <noreply@yourdomain.com>SKIP_VERIFY = falseUSE_TLS = true
После перезапуска Gitea сервер будет отправлять уведомления через ваш SMTP!
Перезапуск Gitea:
systemctl restart gitea
✅ ИТОГО
Шаг | Статус |
---|---|
Создан пользователь SMTP | ✅ |
Установлен и настроен Postfix | ✅ |
Настроена аутентификация SASL | ✅ |
Получен SSL сертификат | ✅ |
Подключение сервисов через SMTP | ✅ |
🚀 Теперь ваш собственный SMTP-сервер полностью готов к работе!