Немного теории
SMTP -> пересылка почты с клиента на сервера и сервера на сервер
IMAP и POP3 -> пересылка почты с сервера на клиент
Настройка POP3 и IMAP
Установка
# если через imap
apt install dovecot-core dovecot-imapd -y
# если через pop3
apt install dovecot-core dovecot-pop3 -yПодсказка
Так можно подсмотреть параметры все
doveconf -d
Настройка
/etc/dovecot/dovecot.conf
# Раскомментировать. Тут слушают все ipv4 и ipv6, если нужны определенные изменить
listen = *, ::/etc/dovecot/conf.d/10-auth.conf
# line 100: Добавить
auth_mechanisms = plain login
# line ~49: раскоментировать. НЕОБЯЗАТЕЛЬНО
# как я попонял от тогда игнорит @домен в user@domain, а в pam как раз и нет домена
auth_username_format = %{user|username}
# =================================== #
# В старых версиях ( ЕСЛИ ЕСТЬ ЭТОТ ПАРАМЕТР )
# line 10: Раскоментировать и изменить
disable_plaintext_auth = no/etc/dovecot/conf.d/10-mail.conf
# line 51
namespace inbox {
mail_driver = maildir
mail_path = ~/maildir
# не забыть убрать .INBOX
mail_inbox_path = ~/Maildir/
}
# =================================== #
# В старых версиях ( ЕСЛИ ЕСТЬ ЭТОТ ПАРАМЕТР )
# line 30: раскоментировать и изменить
mail_location = maildir:~/Maildir
/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
# =================================== #
# В старых версиях нужно ставить угловые фигни
ssl_cert = </ca/mail.crt
ssl_key = </ca/mail.keyПерезапуск
systemctl start dovecot
systemctl enable dovecotВозможная проблема с Samba
там че-то с winbind
# либо там че-то отредачить
/etc/pam.d/dovecot
# либо тут ниже поставить winbind
/etc/pam.d/common-authНастройка SMTP
Установка
apt install postfix -y- Вылезет псевдографика выбираем “Internet Site”
- Далее указываем доменное имя например: vm.local
Подсказка
Так можно подсмотреть параметры все
postconf
Настройка
/etc/postfix/main.cf
# раскоментировать и изменить
myhostname = mail.vm.local
# Изменить
myorigin = vm.local
# change
inet_interfaces = all
# добавить доменное имя
mydestination = $myhostname, localhost.$mydomain, localhost, vm.local
# Изменить, добавить свои сети
mynetworks = 127.0.0.0/8, 10.0.0.0/24, 0.0.0.0/0 [::1]/128
# Для сертификатов поменять пути до сертфикатов
smtpd_tls_cert_file=/ca/postfix.crt
smtpd_tls_key_file=/ca/postfix.key
# ==================== #
# НУЖНО БУДЕТ ДОБАВИТЬ
# ==================== #
# Добавить параметр
home_mailbox = Maildir/
# чтобы логинилось через dovecot
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes—> vi /etc/postfix/master.cf
============================
submission inet n - y - - smtpd
# везде где -o раскоментировать где-то 8 будет
============================systemctl start postfix
systemctl enable postfixDKIM
apt install opendkim -y
opendkim-genkey -D /ca -d lego.dk -s mail
scp /ca/mail.txt 10.1.20.12:/ca # там добавить в DNS
vi /etc/opendkim.conf
Domain lego.dk
Selector mail
KeyFile /ca/2025.private
Socket local:/var/spool/postfix/opendkim/opendkim.sock
mkdir /var/spool/postfix/opendkim
chown opendkim:postfix /var/spool/postfix/opendkim/^C
gpasswd -a postfix opendkim
vi /etc/default/opendkim
SOCKET=local:/var/spool/postfix/opendkim/opendkim.sock
vi /etc/postfix/main.cf
milter_protocol = 6
milter_default_action = accept
smtpd_milters = local:opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters
Настройка echo mail
Удалить все сообщения в очереди: postsuper -d ALL mailq - посмотреть очередь
Postfix
/etc/postfix/main.cf
virtual_alias_maps = hash:/etc/postfix/virtual_alias_maps
transport_maps = hash:/etc/postfix/transport/etc/postfix/virtual_alias_maps
echo@dmz.ws.kz echo_replay@dmz.ws.kz/etc/postfix/transport
echo_replay@dmz.ws.kz autoreply_echo:/etc/postfix/master.cf
autoreply_echo unix - n n - - pipe
flags=F user=nobody argv=/etc/postfix/autoreply_echo ${sender} ${recipient}/etc/script/autoreply_echo
#!/bin/bash
echo "Hello! Welcome to our mail server" | mail -s "Autoreplay" $1 -a From:echo@dmz.ws.kzПерезагрузка служб и команды
postmap /etc/postfix/virtual_alias_maps
postmap /etc/postfix/transport
systemctl reload postfix
systemctl restart postfix
systemctl restart dovecot.service