Dovecot

Установка

# если через imap
apt install dovecot-core dovecot-imapd -y

Подсказка

Так можно подсмотреть параметры все

doveconf -d

Настройка

# Создаем юзера vmail
groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /var/vmail -m -s /usr/sbin/nologin
mkdir -p /var/vmail
chown -R vmail:vmail /var/vmail
/etc/dovecot/dovecot.conf
 
# Раскомментировать. Тут слушают все ipv4 и ipv6, если нужны определенные изменить
listen = *, ::
/etc/dovecot/conf.d/10-auth.conf
 
# line 100: Добавить
auth_mechanisms = plain login
 
# line 35: Добавить
# будет добавлять записям @domain чтобы всегда было user@nova.a7.test ( иначе не робит пункт с users где ключи )
auth_default_domain = nova.a7.test
 
 
# line 120+- одно коментим второе раскоментим
#!include auth-system.conf.ext
!include auth-passwdfile.conf.ext
/etc/dovecot/conf.d/auth-passwdfile.conf.ext
 
passdb passwd-file {
	passwd_file_path = /etc/dovecot/users
}
 
userdb passwd-file {
	passwd_file_path = /etc/dovecot/users
	fields {
		uid = vmail
		gid = vmail
		home = /var/vmail/%{user|domain}/%{user|username}
	}
}
touch /etc/dovecot/users
chown root:dovecot /etc/dovecot/users
chmod 640 /etc/dovecot/users
 
# Добавить пользователя:
 
doveadm pw >> /etc/dovecot/users
 
# Если пароль одинаковый у юзеров можно хэш копировать
# Скопируй хэш и допиши строку:
user@nova.a7.test:{CRYPT}...хэш...:5000:5000::/var/vmail/example.com/user::
/etc/dovecot/conf.d/10-mail.conf
 
# line 51
namespace inbox {
	mail_driver = maildir
	# Создавать ?var/vmail/nova.a7.test/user/Maildir
	mail_path = /var/vmail/%{user|domain}/%{user|username}/Maildir
	mail_uid = vmail
	mail_gid = vmail
}
/etc/dovecot/conf.d/10-master.conf
# line 21: раскоментировать для SSL
service imap-login {
	inet_listener imaps {
		port = 993
		ssl = yes
	}
}
# line 100: раскоментировать и дать подобный образ
unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
}
/etc/dovecot/conf.d/10-ssl.conf
 
ssl = yes
 
ssl_cert = /ca/mail.crt
ssl_key = /ca/mail.key

Перезапуск

systemctl start dovecot 
systemctl enable dovecot

Настройка SMTP

postfix

Установка

apt install postfix -y
  • Вылезет псевдографика выбираем “Internet Site”
  • Далее указываем доменное имя например: vm.local

Подсказка

Так можно подсмотреть параметры все

postconf 

Настройка

/etc/postfix/main.cf
 
myhostname = mail.nova.a7.test
mydomain = nova.a7.test
myorigin = $mydomain
 
# !!!ВАЖНО!!!!
mydestination = localhost
mynetworks = 127.0.0.0/8
 
# Для сертификатов поменять пути до сертфикатов
smtpd_tls_cert_file=/ca/postfix.crt
smtpd_tls_key_file=/ca/postfix.key
 
# SASL через Dovecot (для отправки — авторизация всё равно нужна)
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
 
# Виртуальная доставка — встроенным механизмом Postfix, без LMTP/Dovecot
virtual_mailbox_domains = nova.a7.test
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = hash:/etc/postfix/users
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
# virtual_transport трогать не надо — по умолчанию = virtual, это и есть встроенная доставка

Файл соответствия адрес → путь ящика

--> vi /etc/postfix/users
============================
# (путь — относительно `virtual_mailbox_base`; обрати внимание на слэш в конце — обязателен, это говорит Postfix класть в формате Maildir)
user@nova.a7.test    nova.a7.test/user/Maildir/
test@nova.a7.test    nova.a7.test/test/Maildir/
============================
postmap /etc/postfix/vmailbox
--> vi /etc/postfix/master.cf
============================
submission inet n - y - - smtpd
# везде где -o раскоментировать где-то 8 будет
============================
systemctl start postfix 
systemctl enable postfix