Настраиваем почтовый сервер (Postfix+Dovecot) #1

Короткий гайд о том, как настроить почтовый сервер с авторизацией по PAM (пользователям в системе). Просто и понятно (надеюсь).

Подготовка

Действо выполнялось на Ubuntu 20.04. Поставим необходимые пакеты:

apt install postfix dovecot-core dovecot-imapd

При установке Postfix выберем Internet site, чтобы сгенерировался конфигурационный файл, также укажем домен, например, example.com

Полезные команды:

  • Изменить параметр: postconf -e "smtpd_sasl_type = dovecot"
  • Проверить конфигурацию: postfix check

Настроим SASL

Что такое SASL? Это протокол авторизации. Т.е. вместо того, чтобы настраивать авторизацию (например, через СУБД или LDAP) на каждом из почтовых серверов, мы настроим ее на Dovecot, а Postfix будет взаимодействовать с ним, чтобы авторизовать клиента.

Добавим в /etc/dovecot/dovecot.conf:

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}

Включаем SASL в Postfix (можно через postconf -e):

smtpd_sasl_auth_enable = yes 
smtpd_sasl_type = dovecot 
smtpd_sasl_path = private/auth

Включим сервисы Submission и smtps

Зачем? Postfix по дефолту слушает 25 порт и не умеет отправлять через него почту (вернее, не хочет), он рассчитан только на прием писем от сторонних почтовых серверов.

Необходимо запустить сервис submission (и, желательно smtps), он предназначен для отправки почту по SMTP (для реле). Если пытаться отправить почту через 25 порт, то будет ошибка Relay access denied.

Добавляем в /etc/postfix/master.cf:

submission inet n       -       y       -       -       smtpd
 -o syslog_name=postfix/submission
 -o smtpd_tls_security_level=encrypt
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_tls_auth_only=yes
smtps     inet  n       -       y       -       -       smtpd
 -o syslog_name=postfix/smtps
 -o smtpd_tls_wrappermode=yes
 -o smtpd_sasl_auth_enable=yes

Завершение

Перезапустим сервисы: systemctl restart dovecot postfix

Создадим пользователя: useradd -G mail helloworld

Поставим пароль на пользователя: passwd helloworld

Вы восхитительны! Можно авторизовываться и обмениваться письмами.

Где письма?

Правится расположение в данном конфиге — /etc/dovecot/conf.d/10-mail.conf

По дефолту письма хранятся в формате mbox по такому пути:

mail_location = mbox:~/mail:INBOX=/var/mail/%u

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *