Содержание

Почтовый сервер Postfix для одного домена, без использования базы данных

Окружение: Хостинг VPS/VDS на Ubuntu 12.04.3 LTS, Postfix 2.9.6

Задача. Настроить почтовый сервер для одного домена с виртуальными пользователями, используя связку Postfix, Настройка сервера Dovecot и Postfix, плоские файлы вместо баз данных для управления пользователями почтового сервера.

Подготовка окружения

Настройка Раздел DNS: Что такое DNS для правильной работы почтового сервера. Должны быть настроены записи: A, PTR, МХ, SPF.

Postfix

На этом этапе у нас получился рабочий SMTP — простой протокол передачи почты сервер. По большому счету в такой настройки только два неудобства: первое каждый почтовый пользователь должен быть создан в операционной системе, например при помощи утилиты Быстрое cоздание пользователей в Linux (useradd, usermod, chsh) и пересылка настраивается при помощи newaliases; второе email можно прочитать/получить/отправить только через консоль при помощи, например утилиты Пример использования mailx.
На этом этапе у нас получился рабочий SMTP сервер не требующий заведения пользователя в ОС. Достаточно указать его в файле virtual_maildir_recipients.cf и переиндексировать утилитой postmap.

SMTP AUTH

SMTP аутентификация (SMTP AUTH) позволяет авторизованным почтовым клиентам с динамическими IP адресами пересылать сообщения через ваш сервер, не превращая его в открытый ретранслятор.

Чтобы узнать какие библиотеки SASL поддерживает Postfix используйте ключ -а

# postconf -a
cyrus
dovecot
  1. Включим поддержку SMTP AUTH в Postfix, для этого в main.cf добавим строки
    # 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
  2. Настроим SMTP AUTH в Postfix при помощи Настройка сервера Dovecot и Postfix SASL.
  3. Telnet и тестирование SMTP AUTH. Альтернативой telnet для тестирования SMTP служит утилита swaks:
    aptitude install swaks
На этом этапе у нас получился рабочий SMTP сервер с поддержкой SMTP AUTH. SSL/TLS не настроено, поэтому имена пользователей и пароли передаются в не зашифрованном виде, что допустимо только в качестве тестовых целей. В настоящее время настройка SSL/TLS обязательна.

TLS