# Установка имени
vi /etc/hosts
127.0.0.1 localhost
10.0.2.5 mail.domain.local
vi /etc/rc.conf
hostname="mail.domain.local"
reboot
В DNS провайдера нужны следующие записи: A-запись: mail.domain.local, указывает на ip адрес почтового сервера МХ-запись: domain.local, указывает на запись mail.domain.local
Дополнительно: PTR-запись: обратная запись, задает соответствие ip адреса к DNS SPF-запись: указывается внутри TXT записи, указывает серверы, имеющие право отправлять почту от имени домена
# Отсылаем тест и смотрим логи
echo "Test mail testuser" | mail -s "Test mail testuser" testuser@localhost
cat /var/log/maillog
cat /var/mail/testuser
# Основные конфигурационные файлы dovecot /usr/local/etc/dovecot/ dovecot.conf - главный конфигурационный файл dovecot-sql.conf.ext - настройки для sql базы данных пользователей conf.d/10-auth.conf - настройки процесса авторизации conf.d/10-director.conf - настройки Dovecot Director conf.d/10-logging.conf - настройки ведения логов conf.d/10-mail.conf - настройки расположения почтовых ящиков и пространства имен conf.d/10-master.conf - сетевые настройки и ограничения процессов conf.d/10-ssl.conf - настройки SSL conf.d/15-lda.conf - настройки LDA conf.d/20-imap.conf - настройки IMAP conf.d/20-lmtp.conf - настройки LMTP conf.d/20-managesieve.conf - настройки managesieve conf.d/20-pop3.conf - настройки POP3 conf.d/90-acl.conf - списки доступа к почтовым ящикам conf.d/90-plugin.conf - настройки плагинов conf.d/90-quota.conf - настройки квот conf.d/90-sieve.conf - настройки интерпритатора Sieve conf.d/auth-*.conf.ext - настройки бд пользователей
# Скопируем примеры
cd /usr/local/etc/dovecot/
cp -R example-config/* .
# Протоколы для работы, адрес прослушивания, подключение остальных файлов
/usr/local/etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
listen = *
!include conf.d/*.conf
/usr/local/etc/dovecot/conf.d/10-auth.conf # БД PAM могут использоваться только при передаче пароля plain текстом
disable_plaintext_auth = no
auth_mechanisms = plain login
auth_username_format = %n
!include auth-system.conf.ext
# Настроим сокет для прослушивания
/usr/local/etc/dovecot/conf.d/10-master.conf
# ssl в примере использовать не будем
/usr/local/etc/dovecot/conf.d/10-ssl.conf
ssl = no
#ssl_cert = </etc/ssl/certs/dovecot.pem
#ssl_key = </etc/ssl/private/dovecot.pem
# Хранилище почты
/usr/local/etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:/var/spool/mail/%u:INBOX=/var/mail/%u
mail_privileged_group = mail
mkdir /var/spool/mail
chmod 777 /var/spool/mail
# Ведение логов
/usr/local/etc/dovecot/conf.d/10-logging.conf
log_path = /var/log/dovecot.log
auth_verbose = no
auth_debug = no
verbose_ssl = no
# Вывод дампов:
postconf -n
dovecot -a
#### !!! Если не запустится и в логах будут ошибки типа:
/usr/local/etc/rc.d/dovecot: WARNING: failed precmd routine for dovecot
Перенаправим входящую почту на root к testuser
echo "root: testuser" >> /etc/aliases
newaliases
echo "...Test mail testuser..." | mail -s "Test mail testuser" testuser@localhost
echo "...Test mail root..." | mail -s "Test mail root" root@localhost
# Проверка smtp
telnet localhost 25
ehlo mail.domain.local
mail from: root@domain.local
rcpt to: testuser@domain.local
data
Hello testuser? THIS IS TEST MESSAGE!
.
quit
# Проверка pop3
telnet localhost 110
user testuser@domain.local
pass 32167
stat
list
top X X
dele X
quit
##### !!!
Если настраивали работу от другой учетки
Если не запустится и в логах будут ошибки типа:
dovecot: This binary should probably be called with process group set to XXX instead of XXX
chown xxxx:xxxx /usr/local/libexec/dovecot/dovecot-lda
chmod 04755 /usr/local/libexec/dovecot/dovecot-lda #### !!!
sieve (dovecot-pigeonhole) автоматически устанавливается и настраивается пакетом dovecot-managesieve
Далее входим через IMAP или POP3, отправляем письма, пишем фильтры с помощью sieve