Tocmai am făcut upgrade la debian bullseye postfix 3.5.6 de la debian wheezy postfix 2.9.6.
Folosim hărți de alias virtuale pentru mai mulți destinatari, cum ar fi acesta:
[email protected] @theidsp-network.inter-realm.net,[email protected]
Prin urmare, e-mailurile trimise la [email protected] sunt redirecționate către ambele
[email protected] și la [email protected].
Funcționează corect de ani de zile.
Am învățat anterior de la http://www.postfix.org/virtual.5.html acea
ordinea mai multor destinatari este importantă. „Când rezultatul are forma @otherdomain, rezultatul devine același utilizator din alt domeniu. Acest lucru funcționează numai pentru prima adresă dintr-un rezultat de căutare cu mai multe adrese.” Așa că punem pe primul loc caracterul joker @ destinatar.
După actualizarea postfix, smtpd pare să încerce să redirecționeze către a
un singur destinatar „[email protected],jim”@space-port-pros.com.
Deoarece utilizatorul nu există, această e-mail este trimisă la catchall.
Iată câteva rezultate din mail.log:
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: conectați-vă la subsistemul privat/proxymap
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: trimiteți cererea attr = căutare
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: trimiteți tabelul attr = mysql:/etc/postfix/mysql-virtual_forwardings.cf
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: trimiteți steaguri attr = 540736
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: trimiteți cheia attr = [email protected]
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: private/proxymap socket: wanted attribute: status
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: nume atribut de intrare: stare
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: valoarea atributului de intrare: 0
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: private/proxymap socket: wanted attribute: value
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: nume atribut de intrare: valoare
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: valoarea atributului de intrare: @theidsp-network.inter-realm.net,[email protected]
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: private/proxymap socket: atribut dorit: (terminator de listă)
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: numele atributului de intrare: (end)
14 aprilie 10:45:17 mail7-057 sslmx/smtpd[8640]: dict_proxy_lookup: table=mysql:/etc/postfix/mysql-virtual_forwardings.cf flags=lock|fold_fix|utf8_request
[email protected] -> status=0 [email protected],[email protected]
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: maps_find: virtual_alias_maps: proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf(0,lock|fold_fix|utf8
_cerere): [email protected] = @theidsp-network.inter-realm.net,[email protected]
Apr 14 10:45:17 mail7-057 sslmx/smtpd[8640]: mail_addr_find: [email protected] -> @theidsp-network.inter-realm.net,[email protected]
...
Apr 14 10:45:17 mail7-057 postfix/smtp[8669]: 55E65C895: to=<"[email protected],jim"@space-port-pros.com>, orig_to=< jimays@theids
p.net>, relay=mail7-052.idsp56.net[192.168.56.52]:52025, întârziere=0,06, întârzieri=0,01/0,02/0,01/0,02, dsn=2,0,0, stare=trimis (250 2,00) Ok: în coadă ca 5F628
A882)
Iată fragmente dintr-un jurnal din iunie care arată că înainte a avut ca rezultat două linii distincte cu status=sent, una prin transport smtp la [email protected] și una prin transport lmtp-g la jimays@theidsp-network .inter-realm.net.
20 iunie 06:30:58 mail7-057 sslmx/smtpd[28956]: conectați-vă de la mail7-055.idsp56.net[192.168.56.55]
20 iunie 06:30:58 mail7-057 sslmx/smtpd[28956]: Conexiune TLS anonimă stabilită de la mail7-055.idsp56.net[192.168.56.55]: TLSv1.2 cu cifră AECDH-AES256-S25 (biți 256-S25 )
20 iunie 06:30:58 mail7-057 sslmx/smtpd[28956]: B91A42BE4: client=mail7-055.idsp56.net[192.168.56.55]
20 iunie 06:30:58 mail7-057 cleanup-srs/cleanup[28963]: B91A42BE4: message-id=<[email protected]>
20 iunie 06:30:58 mail7-057 postfix/qmgr[19327]: B91A42BE4: from=<SRS0=Z5tX=LO=connect.match.com=bounces-MA-1-858-ea0868c4-498f-401a-b6f [email protected]>, size=47942, nrcpt=2 (coada activă)
20 iunie 06:30:58 mail7-057 sslmx/smtpd[28956]: deconectați-vă de la mail7-055.idsp56.net[192.168.56.55]
20 iunie 06:30:58 mail7-057 postfix/smtp[28966]: Conexiune TLS anonimă stabilită la mail7-052.idsp56.net[192.168.56.52]:52025: TLSv1.2 cu cifră AECDH-AESHA (2556-SHA256-SHA) 256 de biți)
20 iunie 06:30:58 mail7-057 lmtp-g/lmtp[28965]: Conexiune TLS de încredere stabilită la lmtp7-g.inter-dimensional-space-port.net[216.184.19.228]:64007: TLSv1 cu cifră AES256- SHA (256/256 biți)
20 iunie 06:30:58 mail7-057 postfix/smtp[28966]: B91A42BE4: to=<[email protected]>, relay=mail7-052.idsp56.net[192.168.56.52]:52025, întârziere=0,16, întârzieri=0,04/0,02/0,02/0,08, dsn=2,0,0, stare=trimis (250 2.0.0 Ok: în coadă ca C66855B94)
20 iunie 06:30:59 mail7-057 sslmx/smtpd[28956]: conectați-vă de la mail7-055.idsp56.net[192.168.56.55]
20 iunie 06:30:59 mail7-057 sslmx/smtpd[28956]: Conexiune TLS anonimă stabilită de la mail7-055.idsp56.net[192.168.56.55]: TLSv1.2 cu cifră AECDH-AES256-S25 (biți 256-S25) )
20 iunie 06:30:59 mail7-057 sslmx/smtpd[28956]: 9D1D12CA5: client=mail7-055.idsp56.net[192.168.56.55]
20 iunie 06:30:59 mail7-057 cleanup-srs/cleanup[28963]: 9D1D12CA5: message-id=<[email protected]>
20 iunie 06:30:59 mail7-057 postfix/qmgr[19327]: 9D1D12CA5: from=<SRS0=Z5tX=LO=connect.match.com=bounces-MA-1-858-ea0868c4-498f-401a-b6f [email protected]>, size=50423, nrcpt=1 (coada activă)
20 iunie 06:30:59 mail7-057 sslmx/smtpd[28956]: deconectați-vă de la mail7-055.idsp56.net[192.168.56.55]
20 iunie 06:31:07 mail7-057 lmtp-g/lmtp[28965]: B91A42BE4: to=<[email protected]>, relay=lmtp7-g.inter-dimensional-space-port .net[216.184.19.228]:64007, întârziere=8,9, întârzieri=0,04/0,02/0,12/8,7, dsn=2,0,0, stare=trimis (250 Ok)
20 iunie 06:31:07 mail7-057 postfix/qmgr[19327]: B91A42BE4: eliminat
The http://www.postfix.org/COMPATIBILITY_README.html nu a menționat nimic specific despre o schimbare de comportament în hărțile alias virtuale.
mysql-virtual_forwardings.cf este într-un format standard creat de ISPConfig.
utilizator = ispconfig
parola = redactat
dbname = idsp_mail7_062
table = mail_forwarding
select_field = destinație
unde_câmp = sursă
condiții_addiționale = și active = „y” și server_id = 81
gazde = 192.168.56.121
Piesa relevantă din main.cf care invocă fișierul este:
virtual_alias_maps = regexp:/etc/postfix/regexp-virtual_forwardings__admin.cf, proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc
/postfix/mysql-virtual_email2email.cf
Tabelul virtual_forwardings arată astfel:
MariaDB [idsp_mail7_057]> selectează * din mail_forwarding unde source='[email protected]';
+---------------+------------+-------------+------ ---------+----------------+----------------+------ -----+--------------------+----------------------- ----------------------------------+---------+---- ----+
| forwarding_id | sys_userid | sys_groupid | sys_perm_user | sys_perm_group | sys_perm_other | server_id | sursa | destinație | tip | activ |
+---------------+------------+-------------+------ ---------+----------------+----------------+------ -----+--------------------+----------------------- ----------------------------------+---------+---- ----+
| 201 | 2 | 2 | riud | riud | | 69 | [email protected] | @theidsp-network.inter-realm.net,[email protected] | înainte | y |
+---------------+------------+-------------+------ ---------+----------------+----------------+------ -----+--------------------+----------------------- ----------------------------------+---------+---- ----+
1 rând în set (0,001 sec)
S-a crescut înregistrarea în jurnal la smtpd -v -v și acest lucru se arată în jurnal:
dict_proxy_lookup: table=mysql:/etc/postfix/mysql-virtual_forwardings.cf flags=lock|fold_fix|utf8_request
[email protected] -> status=0 [email protected],[email protected]
Apr 20 16:44:37 mail7-057 sslmx/smtpd[9561]: maps_find: virtual_alias_maps: proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf(0,lock|fold_fix|utf8
_cerere): [email protected] = @theidsp-network.inter-realm.net,[email protected]
Apr 20 16:44:37 mail7-057 sslmx/smtpd[9561]: mail_addr_find: [email protected] -> @theidsp-network.inter-realm.net,[email protected]
deci se pare că căutarea are loc corect,
și apoi se întâmplă totuși o singură expediere în loc de două.