Нужна помощь с постфиксным каноническим отображением

У меня возникают проблемы с настройкой функции canonical_maps для исправления некоторых неправильных адресов унаследованного клиента. Вот ситуация и то, что я пробовал до сих пор:

Устаревший клиент (oldhost.legacy.org) не добавляет свой домен (legacy.org) к адресам в конверте или сообщению при отправке их через SMTP , Так, если пользователь вводит адрес, такой как guser@oldhost, он выходит с SMTP как user@oldhost вместо user@oldhost.legacy.org.

Машина с постфиксом (newhost.standard.org) имеет домен (standard.org), отличный от прежней машины. Он также действует как MX и ретранслятор для домена oldhost.legacy.org.

Когда сообщения от унаследованного клиента поступают на постфиксный компьютер с адресами, такими как guser@oldhost (отсутствует .legacy.org), я бы хотел переписать их так, чтобы они читали user@oldhost.legacy.org. Насколько я понимаю, функция canonical_maps предназначена для этой цели.

В /etc/postfix/canonical.pcre у меня есть:

/^(.*)@oldhost$/    $1@oldhost.legacy.org

Если я тестирую с: postmap –q guser @ oldhost pcre:/etc/postfix/canonical.pcre

ответ: user@oldhost.legacy.org. Совершенная.

В /etc/postfix/main.cf у меня есть

canonical_maps = pcre:/etc/postfix/canonical.pcre

Затем, на устаревшем хосте, я отправляю сообщение, такое как:

To:  user@someotherhost.domain
Cc: user@oldhost

Сообщение приходит на постфиксный компьютер, но строка CC не переписывается.

В документации для canonical_maps говорится, что для перезаписи заголовков клиент должен либо соответствовать local_header_rewrite_clients, либо remote_header_rewrite_domain должен быть ненулевым. Я пробовал оба, но ни один из них не выдает нужного мне результата.

Если я установлю local_header_rewrite_clients = static:all или permit_mynetworks или какую-либо другую опцию, которая вызовет совпадение унаследованного клиента, тогда опция append_dot_domain вступит во владение и перезапишет адрес как user@oldhost.standard.org. Каноническая таблица явно игнорируется.

Если я вместо этого оставлю local_header_rewrite_clients по умолчанию (что не соответствует устаревшему клиенту) и включу remote_header_rewrite_domain = invalid.domain, то адрес переписывается как user@oldhost.invalid.domain, и снова каноническая таблица, по-видимому, игнорируется.

Таким образом, документация для канонической таблицы является верной, что перезапись происходит только в том случае, если local_header_rewrite_clients соответствует клиенту или если установлено remote_header_rewrite_domain. И переписывание действительно происходит. Но переписывание, которое происходит, полностью игнорирует каноническую таблицу.

Итак, как мне получить postfix, чтобы применить append_dot_domain и append_at_myorigin только к себе и применить каноническую таблицу к другим клиентам или, по крайней мере, сначала применить каноническую таблицу?

1
задан 15 August 2014 в 10:04

0 ответов

Другие вопросы по тегам:

Похожие вопросы: