main.cf
# ================== Основні параметри ==================
# Ім'я хоста поштового сервера (має відповідати PTR і DNS A-запису)
myhostname = mail.example.com
# Доменна частина (використовується для локальних адрес)
mydomain = example.com
# Частина, що підставляється у відправників (user@example.com)
myorigin = $mydomain
# Де шукати аліаси (псевдоніми поштових адрес)
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# Які домени вважаються "своїми" (для яких приймаємо пошту)
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# Для локальних користувачів (Linux accounts + aliases)
local_recipient_maps = unix:passwd.byname $alias_maps
# Обмеження мереж (хто вважається довіреним)
mynetworks = 127.0.0.0/8
# Розмір поштової скриньки необмежений
mailbox_size_limit = 0
# Доставляємо пошту у форматі Maildir
home_mailbox = Maildir/
# Інтерфейси та протоколи
inet_interfaces = all
inet_protocols = ipv4
# ================== Базова безпека ==================
# Забороняємо відправку на неіснуючих локальних юзерів
unknown_local_recipient_reject_code = 550
# Забороняємо команду VRFY (менше інформації для зловмисників)
disable_vrfy_command = yes
# Банер SMTP
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
# Ліміти для прийому/відправки
recipient_delimiter = +
# Політика relay (кому дозволено пересилати)
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
# ================== TLS / Шифрування ==================
# Сертифікати Let's Encrypt
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
# Використання TLS
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_security_level = may
smtp_tls_security_level = may
# Додаткові параметри TLS
smtp_tls_CApath = /etc/ssl/certs
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# ================== SASL (автентифікація) ==================
# Використовуємо Dovecot як бекенд
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
# smtpd_sasl_local_domain = # (звичайно лишається порожнім)
# ================== OpenDKIM інтеграція ==================
# Якщо щось не так із milter – приймаємо (щоб не ламати пошту)
milter_default_action = accept
milter_protocol = 2
# Підключення OpenDKIM (слухає на порту 12301 локально)
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301
# ================== Інше ==================
# Рівень сумісності з новими версіями Postfix
compatibility_level = 3.6
# Не показувати повідомлення biff (не актуально для Maildir)
biff = no
# Крапка після домену у MUA не додається
append_dot_mydomain = no
# Директорія readme (не використовується)
readme_directory = no
Тут налаштовано не відсилати bounce взагалі для листів, які не можуть бути доставлені неіснуючому отримувачу (local_recipient_maps), а відхилити одразу на етапі SMTP (550 5.1.1 User unknown
) Див. : Пошта на неіснуючі адреси
#
Last updated