SMTP 4xx e registro MX secundário como forma de redirecionar e-mail

1

Eu tenho um domínio que usa o Google Apps para e-mail. Agora eu decidi criar meu próprio MTA (Postfix) no VPS (rodando o Debian squeeze). Existe apenas um número muito pequeno (menos de meia dúzia) de usuários e alguns deles preferem continuar usando a interface web do GMail (e o resto deles tem contas Unix locais). Por isso, preciso enviar e-mails para determinados destinatários para os servidores SMTP do Google. No começo eu fiz o seguinte:

  • Adicionou altmail.mydomain.org alias de domínio no Google Apps.
  • Adicionado aliases virtuais do Postfix para usuários que desejam o GMail:

    user [email protected]

  • Configurar tabela de transporte:

    altmail.mydomain.org smtp:aspmx.l.google.com

Funciona, mas quebra o SPF e eu acho que repetidamente enviar mensagens legítimas dessa maneira não é bom para a reputação do host. A solução é implementar o SRS (isso parece ser um pouco complicado com o Postfix) ou simplesmente reescrever o remetente do envelope para um endereço fixo como [email protected] (não vou conseguir muitos, se de fato, quando entregar para contas válidas do Google Apps) .

Mas me ocorreu que, se eu quiser manter os servidores SMTP do Google como backup de registros MX, retornar TEMPFAIL para certos destinatários fará com que qualquer remetente compatível com RFC tente o próximo registro MX e, assim, envie mensagens para o Google sem nunca incomodando meu anfitrião para retransmiti-lo. Esta é uma maneira legítima de lidar com o correio? Quantos remetentes MTAs vão quebrar por causa desse esquema? Esses destinatários geralmente se preocupam com os e-mails enviados pelos principais serviços gratuitos de e-mail (GMail, Yahoo !, Mail.Ru, etc.). Qual é o código de status mais adequado e o código de status aprimorado para essa situação?

Existe alguma maneira de responder com o 4xx imediatamente após RCPT TO além de escrever um milter personalizado?

    
por rkhayrov 18.01.2012 / 08:32

1 resposta

1

Bem, caso alguém esteja interessado:

Sim, é possível implementar este esquema sem escrever nenhum milters: use check_recipient_access com qualquer código de resposta personalizado e mensagens na tabela access(5) .

E não, não funciona. Pelo menos, o GMail tenta novamente a MX com maior prioridade quando vê o erro 4xx ao invés de tentar o próximo. Por enquanto acabei reescrevendo os endereços de remetente do envelope com pcre type canonical table para [email protected] .

    
por 20.01.2012 / 16:37