Postfix: переопределение домена получателя при ретрансляции почты

Postfix: переопределение домена получателя при ретрансляции почты

У меня есть почтовый ретранслятор ( mx2.mycorp.com), который принимает почту для [email protected]. Эти сообщения пересылаются на сервер почтовой рассылки Sympa, который принимает сообщения для домена mycorp.com.

Это работало довольно долгое время на старых версиях Sympa и Ubuntu 14.04, но проблема в том, что оба стека требовали обновлений, а устаревание обеих частей программного обеспечения нарушило большую часть настройки.

Я начинаю заново с Ubuntu 18.04, но не могу понять, как заставить postfix-транспорты lists.mycorp.comработать для ретрансляции на сервер Sympa таким образом, чтобы sympa принимала публикацию для списка рассылки. Прямо сейчас сервер sympa просто ретранслирует публикацию на исходящий почтовый сервер, потому что он не настроен на прием почты для 'lists.mycorp.com (onlymycorp.com`). Это было настроено из тщеславных соображений; заинтересованные стороны в проекте не хотят поддомен для своих списков рассылки.

Есть ли способ заставить postfix переписать целевой домен?послеон понял, куда ему нужно передать сообщение?

Содержание postconf -nи postconf -M:

# postconf -n
alias_database = hash:/etc/aliases,hash:/etc/mail/sympa/aliases
alias_maps = mysql:/etc/postfix/mysql-sympa-lists-with-exclusions.cf,mysql:/etc/postfix/mysql-sympa-owners.cf,mysql:/etc/postfix/mysql-sympa-request.cf,mysql:/etc/postfix/mysql-sympa-u
nsubscribe.cf,hash:/etc/mail/sympa/aliases,hash:/etc/aliases
biff = no
default_privs = sympa
home_mailbox = .maildir/
inet_interfaces = all
inet_protocols = ipv4
local_recipient_maps =
mailbox_size_limit = 60000000
mailbox_transport = smtp:[mx1.mycorp.com]:2525
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, lists.mycorp.com, lists.test.mycorp.com
mydomain = mycorp.com
myhostname = lists.mycorp.com
mynetworks = 127.0.0.0/8 10.140.136.0/23
myorigin = $mydomain
readme_directory = no
recipient_canonical_maps = hash:/etc/postfix/myrecipientmap
recipient_delimiter = +
relay_domains = $mydestination, lists.mycorp.com
smtp_destination_concurrency_limit = 5
smtp_destination_rate_delay = 1s
smtp_extra_recipient_limit = 5
smtp_host_lookup = native,dns
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipient_access
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination
smtpd_sender_restrictions = hash:/etc/postfix/sender_access
sympa_destination_recipient_limit = 1
sympabounce_destination_recipient_limit = 1
transport_maps = regexp:/etc/postfix/transport_regexp
unknown_local_recipient_reject_code = 450
virtual_alias_maps = hash:/etc/postfix/virtual

# postconf -M
smtp       inet  n       -       n       -       -       smtpd -v
pickup     unix  n       -       y       60      1       pickup
cleanup    unix  n       -       y       -       0       cleanup
qmgr       unix  n       -       n       300     1       qmgr
tlsmgr     unix  -       -       y       1000?   1       tlsmgr
rewrite    unix  -       -       y       -       -       trivial-rewrite
bounce     unix  -       -       y       -       0       bounce
defer      unix  -       -       y       -       0       bounce
trace      unix  -       -       y       -       0       bounce
verify     unix  -       -       y       -       1       verify
flush      unix  n       -       y       1000?   0       flush
proxymap   unix  -       -       n       -       -       proxymap
proxywrite unix  -       -       n       -       1       proxymap
smtp       unix  -       -       y       -       -       smtp
relay      unix  -       -       y       -       -       smtp
showq      unix  n       -       y       -       -       showq
error      unix  -       -       y       -       -       error
retry      unix  -       -       y       -       -       error
discard    unix  -       -       y       -       -       discard
local      unix  -       n       n       -       -       local
virtual    unix  -       n       n       -       -       virtual
lmtp       unix  -       -       y       -       -       lmtp
anvil      unix  -       -       y       -       1       anvil
scache     unix  -       -       y       -       1       scache
maildrop   unix  -       n       n       -       -       pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp       unix  -       n       n       -       -       pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail     unix  -       n       n       -       -       pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp      unix  -       n       n       -       -       pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n       n       -       2       pipe 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}
sympa      unix  -       n       n       -       -       pipe flags=R user=sympa argv=/usr/lib/sympa/bin/queue ${recipient}
sympabounce unix -       n       n       -       -       pipe flags=R user=sympa argv=/usr/lib/sympa/bin/bouncequeue ${recipient}

решение1

Я не знаю, связана ли статья, которую я написал, с этой проблемой, но у меня была похожая проблема при обновлении tu ubuntu 22.04 и замене mailman2, и мне пришлось задокументировать решение, поэтомуздесьэто так, со ссылками на другие решения:

Связанный контент