Иногда мне нужно отправить письмо через адрес отправителя, который обычно получен на универсальный почтовый адрес. Но обычный метод манипулирования возвратом почты не является хорошим решением. Поэтому я использую "рабочий" сценарий с i-MSCP + RoundCube:
- фиксированные почтовые ящики и одна ловушка
- Если мне нужно отправить через динамический почтовый адрес (будет перехвачен catchall), я регистрирую почтовый ящик (временный для этой почты или почтового ящика + пересылка) и использую новые учетные данные в RoundCube.
Но теперь у меня есть минимальный сервер без программного обеспечения для управления. Я настроил postfix с фиксированными почтовыми ящиками и одним уловом (на основе регулярных выражений + черный список). Также dovecot работает с IMAP и учетными данными. Помимо того, что в настоящее время я не могу отправить почту через почтовый клиент (проблемы с аутентификацией), я хочу гораздо более простой способ отправки почты с любого адреса. Я не хочу что-то регистрировать, просто используйте <dynamic name>@domain.tld
и глобальный пароль.
Мой постфикс /dovecot:
- несколько доменов
- нет базы данных, только файлы хешей и регулярных выражений
- maildir (почти стандарт)
- нет виртуальных пользователей (у catchall есть собственный пользователь unix)
- нет транспортных манипуляций
Что такое секретное оружие postfix для достижения этого сценария отправки?
my main.cf
(вход через smtp пока не работает, общие send и imap работают:
myhostname = domain.tld
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
delay_warning_time = 4h
readme_directory = no
smtpd_tls_cert_file=/etc/letsencrypt/live/domain.tld/cert.pem
smtpd_tls_key_file=/etc/letsencrypt/live/domain.tld/privkey.pem
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_tls_received_header = yes
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_protocols = !SSLv2, !SSLv3
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, domain.tld, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
mynetworks_style = host
home_mailbox = Maildir/
virtual_alias_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/regexp_virtual
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipient_access, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd