Я столкнулся с ситуацией в Postfix, когда кажется, что моя конфигурация игнорируется. У меня есть домашняя сеть, в которой машины называются hostname.fakedomain, и почтовый хост colo с реальным доменом example.com. На моем домашнем компьютере Postfix настроен на перезапись адресов конверта для использования реального домена example.com, но с сохранением заголовков как есть. Я сохраняю эту настройку, потому что хочу, чтобы почта доставлялась на мой почтовый сервер colo, но мне нравится сохранять заголовки, чтобы я мог сразу увидеть, какая машина в моей домашней сети отправила какую почту.
Соответствующие детали:
/ и т.д. / постфикс / канонический:
@hostname.fakedomain postmaster@example.com
"postconf -n" (частичный вывод):
alias_database = $alias_maps alias_maps = hash:/etc/postfix/aliases canonical_classes = envelope_sender, envelope_recipient canonical_maps = hash:/etc/postfix/canonical mydestination = myhostname = hostname.fakedomain relay_domains = relayhost = example.com
Обычно это работает нормально: локальная почта на моем рабочем столе доставляется в учетную запись postmaster на моем почтовом сервере, но заголовки не переписываются. Однако, если в почте, предоставленной двоичному файлу sendmail, отсутствует заголовок From :, то заголовок перезаписывается на From: root <postmaster@example.com>
. Поскольку canonical_classes не включает «header_sender», этого не должно происходить. Я думал, что произойдет то, что Postfix добавит From: root@hostname.fakedomain
. Кроме того, я знаю, что это связано с канонической картой, потому что, если я изменю адрес там на «otheraddress@example.com», заголовки также изменятся.
Одним из возможных обходных путей было бы направлять вывод каждой записи cron через / bin / mail, но я бы предпочел исправление конфигурации Postfix, чтобы это работало для любой почты, у которой отсутствует заголовок From :, а не только для почты cron.
Это действительно ошибка в Postfix, или я неправильно понимаю, как canonical_classes должны работать в этой ситуации?
Можете проверить эти два: remote_header_rewrite_domain и local_header_rewrite_clients
Последний по умолчанию - "permission_inet_interfaces", который в описании этого другого параметра может дать вам ответ?
always_add_missing_headers (default: no):
Always add (Resent-) From:, To:, Date: or Message-ID: headers when not
present. Postfix 2.6 and later add these headers only when clients
match the local_header_rewrite_clients parameter setting. Earlier
Postfix versions always add these headers; this may break DKIM
signatures that cover non-existent headers.**
Даже если по умолчанию нет, возможно, это вызвано не пустым параметром local_header_rewrite_clients.
Однако я мог бы также добавить следующее (со страницы руководства):
The canonical(5) mapping is not to be confused with virtual alias
support or with local aliasing. To change the destination but not the
headers, use the virtual(5) or aliases(5) map instead.**
Пока что ты делаешь должен работать, возможно, использование виртуальных / псевдонимов будет работать лучше?
О, также только что обнаружил, что есть sender_canonical_classes и recipient_canonical_classes параметры тоже. Возможно, захочется проверить это.