imap smtp pop3 dovecot

Немного теории

imap smtp pop3

  • SMTP -> пересылка почты с клиента на сервера и сервера на сервер

  • IMAP и POP3 -> пересылка почты с сервера на клиент


Настройка POP3 и IMAP

dovecot

Установка

# если через 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

postfix

Установка

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 postfix

DKIM

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

2 items under this folder.