Только что обновился до debian bullseye postfix 3.5.6 с debian wheezy postfix 2.9.6.
Мы используем карты виртуальных псевдонимов для нескольких получателей, например:
[email protected] @theidsp-network.inter-realm.net,[email protected]
Таким образом, письма, отправленные на адрес [email protected], перенаправляются как на
[email protected] и [email protected].
Работает корректно уже много лет.
Ранее мы узнали от http://www.postfix.org/virtual.5.html что
порядок нескольких получателей важен. «Когда результат имеет форму @otherdomain, результатом становится тот же пользователь в otherdomain. Это работает только для первого адреса в результате поиска по нескольким адресам». Таким образом, мы ставим подстановочный знак @ получателя первым.
После обновления постфикса smtpd, кажется, пытается перенаправить на
единственный получатель "[email protected],jim"@space-port-pros.com.
Поскольку пользователь не существует, эта почта попадает в общий список.
Вот некоторый вывод из mail.log:
14 апр 10:45:17 mail7-057 sslmx/smtpd[8640]: подключиться к подсистеме private/proxymap
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: отправить запрос attr = поиск
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: отправить таблицу attr = mysql:/etc/postfix/mysql-virtual_forwardings.cf
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: отправить флаги attr = 540736
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: отправить ключ attr = [email protected]
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: сокет private/proxymap: требуется атрибут: статус
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: имя входного атрибута: статус
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: значение входного атрибута: 0
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: сокет private/proxymap: требуемый атрибут: значение
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: имя входного атрибута: значение
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: значение входного атрибута: @theidsp-network.inter-realm.net,[email protected]
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: сокет private/proxymap: требуемый атрибут: (разделитель списка)
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: имя входного атрибута: (конец)
14 апреля 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]
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
_request): [email protected] = @theidsp-network.inter-realm.net,[email protected]
14 апреля 10:45:17 mail7-057 sslmx/smtpd[8640]: mail_addr_find: [email protected] -> @theidsp-network.inter-realm.net,[email protected]
...
14 апреля 10:45:17 mail7-057 postfix/smtp[8669]: 55E65C895: to=<"[email protected],jim"@space-port-pros.com>, orig_to=< джимайс@теидс
p.net>, relay=mail7-052.idsp56.net[192.168.56.52]:52025, задержка=0,06, задержки=0,01/0,02/0,01/0,02, dsn=2.0.0, статус=отправлено (250 2.0.0 Хорошо: в очереди как 5F628
А882)
Вот фрагменты из журнала за июнь, показывающие, что переадресация ранее приводила к двум различным строкам со статусом = отправлено, одна через транспорт smtp на [email protected] и одна через транспорт lmtp-g на jimays@theidsp-network. .inter-realm.net.
20 июня 06:30:58 mail7-057 sslmx/smtpd[28956]: подключиться с mail7-055.idsp56.net[192.168.56.55]
20 июня, 06:30:58 mail7-057 sslmx/smtpd[28956]: установлено анонимное TLS-соединение с mail7-055.idsp56.net[192.168.56.55]: TLSv1.2 с шифром AECDH-AES256-SHA (256/256 бит )
20 июня 06:30:58 mail7-057 sslmx/smtpd[28956]: B91A42BE4: client=mail7-055.idsp56.net[192.168.56.55]
20 июня, 06:30:58 mail7-057 cleanup-srs/cleanup[28963]: B91A42BE4: message-id=<[email protected]>
20 июня 06:30:58 mail7-057 postfix/qmgr[19327]: B91A42BE4: from=<SRS0=Z5tX=LO=connect.match.com=bounces-MA-1-858-ea0868c4-498f-401a-b6f1- [email protected]>, size=47942, nrcpt=2 (очередь активна)
20 июня 06:30:58 mail7-057 sslmx/smtpd[28956]: отключиться от mail7-055.idsp56.net[192.168.56.55]
20 июня 06:30:58 mail7-057 postfix/smtp[28966]: установлено анонимное TLS-соединение с mail7-052.idsp56.net[192.168.56.52]:52025: TLSv1.2 с шифром AECDH-AES256-SHA (256/ 256 бит)
20 июня, 06:30:58 mail7-057 lmtp-g/lmtp[28965]: установлено доверенное TLS-соединение с lmtp7-g.inter-diversity-space-port.net[216.184.19.228]:64007: TLSv1 с шифром AES256- SHA (256/256 бит)
20 июня 06:30:58 mail7-057 postfix/smtp[28966]: B91A42BE4: to=<[email protected]>, relay=mail7-052.idsp56.net[192.168.56.52]:52025, задержка = 0,16, задержки = 0,04/0,02/0,02/0,08, dsn = 2.0.0, статус = отправлено (250 2.0.0 OK: в очереди как C66855B94)
20 июня 06:30:59 mail7-057 sslmx/smtpd[28956]: подключиться с mail7-055.idsp56.net[192.168.56.55]
20 июня, 06:30:59 mail7-057 sslmx/smtpd[28956]: установлено анонимное TLS-соединение с mail7-055.idsp56.net[192.168.56.55]: TLSv1.2 с шифром AECDH-AES256-SHA (256/256 бит )
20 июня 06:30:59 mail7-057 sslmx/smtpd[28956]: 9D1D12CA5: client=mail7-055.idsp56.net[192.168.56.55]
20 июня, 06:30:59 mail7-057 cleanup-srs/cleanup[28963]: 9D1D12CA5: message-id=<[email protected]>
20 июня 06:30:59 mail7-057 postfix/qmgr[19327]: 9D1D12CA5: from=<SRS0=Z5tX=LO=connect.match.com=bounces-MA-1-858-ea0868c4-498f-401a-b6f1- [email protected]>, size=50423, nrcpt=1 (очередь активна)
20 июня 06:30:59 mail7-057 sslmx/smtpd[28956]: отключиться от mail7-055.idsp56.net[192.168.56.55]
20 июня 06:31:07 mail7-057 lmtp-g/lmtp[28965]: B91A42BE4: to=<[email protected]>, relay=lmtp7-g.inter-diversity-space-port .net[216.184.19.228]:64007, задержка=8,9, задержки=0,04/0,02/0,12/8,7, dsn=2.0.0, статус=отправлено (250 ОК)
20 июня 06:31:07 mail7-057 postfix/qmgr[19327]: B91A42BE4: удалено
http://www.postfix.org/COMPATIBILITY_README.html не упомянул ничего конкретного об изменении поведения в картах виртуальных псевдонимов.
mysql-virtual_forwardings.cf имеет стандартный формат, созданный ISPConfig.
пользователь = ispconfig
пароль = отредактирован
имя_базы = idsp_mail7_062
таблица = mail_forwarding
select_field = пункт назначения
где_поле = источник
дополнительные_условия = и активные = 'y' и server_id = 81
хосты = 192.168.56.121
Соответствующая часть main.cf, которая вызывает файл:
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
Таблица virtual_forwardings выглядит так:
MariaDB [idsp_mail7_057]> выберите * из mail_forwarding, где source='[email protected]';
+---------------+------------+-------------+------ ------------------------+-+--+------ -----+-----------------------------------+--------- -----------------------------------+------------------------+---- ----+
| forwarding_id | sys_userid | sys_groupid | sys_perm_user | sys_perm_group | sys_perm_other | идентификатор_сервера | источник | пункт назначения | тип | активный |
+---------------+------------+-------------+------ ------------------------+-+--+------ -----+-----------------------------------+--------- -----------------------------------+------------------------+---- ----+
| 201 | 2 | 2 | риуд | риуд | | 69 | [email protected] | @theidsp-network.inter-realm.net,[email protected] | вперед | у |
+---------------+------------+-------------+------ ------------------------+-+--+------ -----+-----------------------------------+--------- -----------------------------------+------------------------+---- ----+
1 ряд в сете (0,001 сек)
Увеличено ведение журнала smtpd -v -v, и это отображается в журнале:
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]
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
_request): [email protected] = @theidsp-network.inter-realm.net,[email protected]
20 апреля 16:44:37 mail7-057 sslmx/smtpd[9561]: mail_addr_find: [email protected] -> @theidsp-network.inter-realm.net,[email protected]
поэтому кажется, что поиск происходит правильно,
а то все равно бывает только одна рассылка вместо двух.