Назад | Перейти на главную страницу

Postfix и PostgreSQL: как заставить одинаковые псевдонимы работать для разных доменов?

В настоящее время у меня три домена. Я хочу настроить (в основном) одни и те же псевдонимы для каждого домена и получать почту на Thunderbird. Он уже работает для отправки / получения писем для contact@domain1.com, contact@domain2.net и contact@domain3.de но теперь мне нужны псевдонимы.

Если я отправлю письмо с xyz@web.de на один из этих псевдонимов (см. Ниже), оно вернется с ошибкой: Recipient address rejected: User unknown in local recipient table.

Я также не понимаю, почему / etc / aliases все еще активен. Я не хочу использовать это, потому что он не может обрабатывать одни и те же псевдонимы в разных доменах.

И я уже пытался изменить alias_maps к virtual_alias_maps, но это не действует.

Следующие псевдонимы / письма должны пересылать свои письма на адрес @ domain1.com

Следующие псевдонимы / письма должны пересылать свои письма на адрес @ domain2. net

Следующие псевдонимы / письма должны пересылать свои письма на адрес @ domain3.de

/etc/postfix/main.cf

myhostame = domain1.com
myorigin = domain1.com
mydestination = domain1.com domain2.net domain3.de localhost localhost.localdomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

alias_maps = hash:/etc/aliases proxy:pgsql:/etc/postfix/pgsql-aliases.cf
local_recipient_maps = proxy:pgsql:/etc/postfix/pgsql-boxes.cf $alias_maps
mailbox_transport = lmtp:unix:private/dovecot-lmtp

smtpd_tls_cert_file=/etc/letsencrypt/live/domain1.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/domain1.com/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
smtpd_tls_security_level=may
smtpd_tls_protocols = !SSLv2, !SSLv3

Таблица PostgreSQL

mail=> table aliases;
          alias           |        email
--------------------------+----------------------
 test@domain1.com         | contact@domain1.com
 foo@domain1.com          | contact@domain1.com
 bar@domain1.com          | contact@domain1.com
 test@domain2.net         | contact@domain2.net
 foo@domain2.net          | contact@domain2.net
 bar@domain2.net          | contact@domain2.net
 test@domain3.de          | contact@domain3.de
 foo@domain3.de           | contact@domain3.de
 bar@domain3.de           | contact@domain3.de

/etc/postfix/pgsql-aliases.cf

user=mailreader
dbname=mail
table=aliases
select_field=alias
where_field=email
hosts=unix:/var/run/postgresql