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
Установка
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