Como parar um loop que introduzi em uma configuração transicional de postfix-spamassassin-dovecot

2

Estou nos estágios iniciais da curva de aprendizado de manipulação de e-mail, gentileza apreciada: -).

Eu tenho uma configuração com postfix e dovecot. Estou tentando migrar meu servidor de e-mail (domínio example.com ) da minha casa para uma instância em outro local ( test.example.com ). A ideia é que quando as coisas parecem trabalho, vou mudar o DNS e substituir test.example.com por example.com ). Eu suspeito as questões que tenho podem ser transitórias, mas agradeceriam qualquer verificação.

No meu antigo servidor, eu tinha contas unix reais e tinha o seguinte em / etc / aliases:

a:    \a, b

para que o e-mail enviado para [email protected] seja encaminhado para [email protected] além de uma cópia local.

No meu novo servidor (atualmente test.example.com ), tenho usuários virtuais [email protected], [email protected] e $virtual_alias_maps contém

@test.example.com    @example.com
[email protected]        [email protected], [email protected]

em que o email enviado para [email protected] será entregue como esperado sem um loop.

Em seguida, adicionei o spamassassin da seguinte maneira ao main.cf, e parece funcionar com uma exceção.

smtp      inet  n       -       -       -       -       smtpd
    -o content_filter=spamassassin
spamassassin   unix  -       n       n       -       -       pipe
    user=debian-spamd argv=/usr/bin/spamc -f -e
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Agora, quando eu enviar e-mail para [email protected] , recebo uma cópia na caixa de correio [email protected] e duas cópias na caixa de correio [email protected] .

Parece que a expansão acontece duas vezes, o que me surpreende.

Minhas perguntas são:

  1. Por que a expansão está acontecendo duas vezes?
  2. Quando eu mudo o DNS e removo o test. da minha configuração, esse problema vai embora (ou seja, isso é um problema de transição)?
  3. Se a resposta para 2. for não, você tem alguma sugestão?
por copper.hat 29.06.2015 / 09:15

1 resposta

3

Aqui está a jornada de e-mail do daemon postfix antes de colocar spamassassin stuff

Email for [email protected] -> aliased to [email protected] and [email protected] -> final destination

Depois de colocar spamassassin stuff, basicamente você coloca filtro de conteúdo na pilha postfix, portanto, a jornada por e-mail torna-se

Email for [email protected] -> aliased to [email protected] and [email protected] -> spamassassin

Do spamassassin, o postfix foi injetado por dois e-mails

Email for [email protected] -> aliased to [email protected] and [email protected] -> final destination
Email for [email protected] -> final destination

Isso explica por que você tem dois e-mails em [email protected] e um em [email protected]

A solução

O postfix tem o parâmetro receive_override_options com no_address_mappings para lidar com isso. Coloque-o antes do filtro de conteúdo e você não receberá e-mails duplicados.

smtp      inet  n       -       -       -       -       smtpd
    -o content_filter=spamassassin
    -o receive_override_options=no_address_mappings
spamassassin   unix  -       n       n       -       -       pipe
    user=debian-spamd argv=/usr/bin/spamc -f -e
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}
    
por 29.06.2015 / 15:26