E-mailurile trimise de pe alte domenii găzduite de dovecot sunt livrate, însă e-mailurile de la Gmail, Outlook și altele nu sunt livrate.
Am urmat acest tutorial: https://www.linuxbabe.com/mail-server/setup-basic-postfix-mail-sever-ubuntu (până la pasul 7 inclusiv (nu am adăugat un filtru de spam)) acum aproximativ 6 luni și l-a funcționat timp de 6 luni. De atunci am schimbat pe un alt server și e-mailurile nu sunt livrate, de la servere externe, totuși pot trimite e-mailuri către servere externe.
La migrare, am copiat maildir-ul și tot conținutul acestuia, precum și directoarele /etc/dovecot și /etc/postfix
Folosesc MariaDB pentru a stoca nume de utilizator, parole și maildir-uri.
/etc/postfix/main.cf:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = nu
append_dot_mydomain = nr
readme_directory = nr
compatibility_level = 2
smtpd_tls_cert_file=/etc/letsencrypt/live/mx.najemi.cz/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mx.najemi.cz/privkey.pem
smtpd_tls_security_level=mai
smtpd_tls_loglevel = 1
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_security_level = mai
smtp_tls_loglevel = 1
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
#Aplicați TLSv1.3 sau TLSv1.2
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mx.najemi.cz
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost =
rețelele mele = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
cutie_poștală_size_limit = 0
destinatar_delimiter = +
inet_interfaces = all
inet_protocols = all
limită_dimensiunea mesajului = 52428800
mailbox_transport = lmtp:unix:private/dovecot-lmtp
smtputf8_enable = nr
virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps =
proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
virtual_alias_maps =
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_base = /var/vmail
virtual_minimum_uid = 2000
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000
policyd-spf_time_limit = 3600
smtpd_recipient_restrictions =
permis_rețelele mele,
permis_sasl_authenticated,
reject_unauth_destination,
check_policy_service unix:private/policyd-spf
milter_default_action = accept
milter_protocol = 6
smtpd_milters = local:opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters
/etc/postfix/master.cf:
smtp inet n - y - - smtpd
depunerea inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=criptare
-o smtpd_tls_wrappermode=nu
-o smtpd_sasl_auth_enable=da
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=da
-o smtpd_sasl_auth_enable=da
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
pickup unix n - y 60 1 pickup
curatare unix n - y - 0 curatare
qmgr unix n - n 300 1 qmgr
#qmgr unix n - n 300 1 oqmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rescrie unix - - y - - trivial-rescriere
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 săritură
verifica unix - - y - 1 verifica
spălați Unix n - y 1000? 0 culoare
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
releu unix - - y - - smtp
-o syslog_name=postfix/$service_name
showq unix n - y - - showq
eroare unix - - y - - eroare
reîncercați Unix - - y - - eroare
arunca unix - - y - - arunca
unix local - n n - - local
unix virtual - n n - - virtual
lmtp unix - - y - - lmtp
nicovală unix - - y - 1 nicovală
scache unix - - y - 1 scache
postlog unix-dgram n - n - 1 postlogd
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - conductă
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($destinatar)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($destinatar)
bsmtp unix - n n - - conductă
steaguri=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $destinatar
scalemail-backend unix - n n - 2 conducte
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
policyd-spf unix - n n - 0 spawn
user=policyd-spf argv=/usr/bin/policyd-spf
/etc/dovecot/conf.d/10-mail.conf:
locație_mail = maildir:~/Maildir
mail_home = /var/vmail/%d/%n/
inbox spatiu de nume {
inbox = da
}
postconf -n (ieșire):
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = nr
biff = nu
compatibility_level = 2
inet_interfaces = all
inet_protocols = all
cutie_poștală_size_limit = 0
mailbox_transport = lmtp:unix:private/dovecot-lmtp
limită_dimensiunea mesajului = 52428800
milter_default_action = accept
milter_protocol = 6
mydestination = $myhostname, localhost.$mydomain, localhost
myhostname = mx.najemi.cz
rețelele mele = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
non_smtpd_milters = $smtpd_milters
policyd-spf_time_limit = 3600
readme_directory = nr
destinatar_delimiter = +
relayhost =
smtp_tls_loglevel = 1
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_security_level = mai
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_milters = local:opendkim/opendkim.sock
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_policy_service unix:private/policyd-spf
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/letsencrypt/live/mx.najemi.cz/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mx.najemi.cz/privkey.pem
smtpd_tls_loglevel = 1
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_security_level = mai
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtputf8_enable = nr
virtual_alias_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, proxy:mysql:/etc_virtual_virtual_alias_maps.
virtual_gid_maps = static:2000
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
virtual_minimum_uid = 2000
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_uid_maps = static:2000
porumbel -n (ieșire):
auth_debug = da
auth_debug_passwords = da
mail_home = /var/vmail/%d/%n/
locație_mail = maildir:~/Maildir
mail_privileged_group = mail
inbox spatiu de nume {
inbox = da
locație =
cutie poștală Ciorne {
auto = create
special_use = \Drafts
}
cutie poștală nedorită {
auto = create
special_use = \Junk
}
cutie poștală Trimis {
auto = create
special_use = \Trimis
}
căsuța poștală „Mesaje trimise” {
auto = create
special_use = \Trimis
}
cutie poștală gunoi {
auto = create
special_use = \Trash
}
prefix =
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocoale = imap lmtp imap lmtp
autentificare serviciu {
unix_listener /var/spool/postfix/private/auth {
grup = postfix
mod = 0660
utilizator = postfix
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
grup = postfix
mod = 0600
utilizator = postfix
}
}
ssl = necesar
ssl_cert = </etc/letsencrypt/live/mx.najemi.cz/fullchain.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # ascuns, utilizați -P pentru a-l afișa
ssl_key = # ascuns, utilizați -P pentru a-l afișa
ssl_min_protocol = TLSv1.2
ssl_prefer_server_ciphers = da
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
/etc/dovecot/dovecot.conf:
protocoale = imap lmtp
!include_try /usr/share/dovecot/protocols.d/*.protocol
!include_try local.conf
/etc/dovecot/conf.d/10-auth.conf:
disable_plaintext_auth = da
auth_username_format = %Lu
auth_mechanisms = plain
!include auth-sql.conf.ext
auth_debug = da
auth_debug_passwords = da
/etc/dovecot/conf.d/auth-sql.conf.ext:
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
/etc/dovecot/dovecot-sql.conf.ext:
driver = mysql
connect = host=localhost dbname=postfixadmin user=postfixadmin parola=PAROLA_HERE
default_pass_scheme = ARGON2I
password_query = SELECTAȚI numele de utilizator ca utilizator, parola DIN căsuța poștală WHERE nume de utilizator = '%u' AND active='1'
user_query = SELECT maildir, 2000 AS uid, 2000 AS gid DIN căsuța poștală WHERE username = '%u' AND active='1'
iterate_query = SELECTAȚI numele de utilizator CA utilizator DIN căsuța poștală
/etc/dovecot/conf.d/10-master.conf:
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mod = 0600
utilizator = postfix
grup = postfix
}
}
autentificare serviciu {
unix_listener /var/spool/postfix/private/auth {
mod = 0660
utilizator = postfix
grup = postfix
}
}
/etc/dovecot/conf.d/10-ssl.conf:
ssl = necesar
ssl_cert = </etc/letsencrypt/live/mydomain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mydomain.com/privkey.pem
ssl_min_protocol = TLSv1.2