Postfix, canonical_classes e cron mail

2

Eu me deparei com uma situação no Postfix, onde parece que minha configuração está sendo ignorada. Eu tenho uma rede doméstica onde as máquinas são nomeadas hostname.fakedomain e um host de correio de cores com um domínio real example.com. Na minha máquina doméstica, o Postfix está configurado para reconfigurar endereços de envelope para usar o domínio real example.com, mas para preservar os cabeçalhos no estado em que se encontra. Eu mantenho esta configuração porque quero que o correio seja entregue no meu servidor de e-mail colo, mas gosto de preservar os cabeçalhos para que eu possa ver rapidamente qual máquina da minha rede doméstica enviou qual e-mail.

Detalhes relevantes:

  • Arch Linux
  • Postfix 2.7.2
  • / etc / postfix / canonical:

    @hostname.fakedomain [email protected]

  • "postconf -n" (saída parcial):

    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

Normalmente, isso funciona muito bem: o correio local na minha área de trabalho é entregue à conta do postmaster no meu servidor de e-mail, mas os cabeçalhos não são reescritos. No entanto, se o email fornecido ao binário do sendmail não tiver o cabeçalho De:, o cabeçalho será reconfigurado para From: root <[email protected]> . Como canonical_classes não inclui "header_sender", isso não parece acontecer. O que eu pensei que aconteceria é que o Postfix adicionaria From: [email protected] . Além disso, sei que isso se deve ao mapa canônico, porque, se eu alterar o endereço para "[email protected]", os cabeçalhos também serão alterados.

Uma solução possível seria canalizar a saída de cada entrada cron através de / bin / mail, mas eu preferiria uma correção de configuração Postfix, para que isso funcionasse para qualquer email que não tivesse um cabeçalho De:, em vez de apenas cron mail.

Isso é realmente um bug no Postfix, ou estou entendendo mal como as canonical_classes devem funcionar nessa situação?

    
por Josh Steadmon 27.02.2011 / 10:47

1 resposta

2

Pode verificar estes dois: remote_header_rewrite_domain e local_header_rewrite_clients

O último padrão é "permit_inet_interfaces" que, na descrição deste outro parâmetro, pode lhe dar a resposta?

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.**

Mesmo que o padrão seja não, talvez o parâmetro local_header_rewrite_clients não esteja vazio esteja causando isso.

No entanto, eu também posso adicionar o seguinte (da página man):

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.**

Enquanto o que você está fazendo deve funcionar, talvez usar virtual / aliases funcione melhor?

Ah, também acabamos de descobrir que existem também os parâmetros sender_canonical_classes e recipient_canonical_classes . Pode querer verificar isso.

    
por 28.02.2011 / 04:58

Tags