Conexões de SMTP lentas para sobrecarga de memória do Google (tempo limite do Exim de controle)

0

Nossa organização tem vários servidores que geram e enviam muitos e-mails (não somos spammers, é um e-mail legítimo para os usuários que solicitaram isso). O Exim nessas máquinas é configurado para tentar apenas entregar emails uma vez e, se falhar, entregar o email a um servidor de hub de estouro que continuará tentando. Acabei de adicionar um novo servidor a esse rebanho e o adicionei ao nosso registro SPF e o configurei exatamente como nossos outros servidores. No entanto, devemos estar em uma lista negra ou mais provável lista cinza com o Google, provavelmente porque o netblock deste novo servidor tem uma má reputação, como e-mails para contas do Gmail sempre falham com um erro de desconexão na primeira tentativa. Eu tentei enviar manualmente para os endereços do Gmail e, se tiver permissão para fazer mais de uma tentativa, isso funciona bem, eu posso ver a primeira tentativa falhando e, em seguida, a segunda tentativa funciona, não há problema. Mas, como eu disse, não estamos fazendo segundas tentativas com o nosso sistema.

O problema é que acabo com um monte de processos do Exim que estão esperando a desconexão do Google, o que acaba maximizando a memória da máquina (é uma máquina virtual, então apenas 512M de RAM ) e então o OOM_killer do kernel começa a matar processos e nós perdemos e-mails que deveriam ser apagados.

Eu não espero sair da greylist do Google tão cedo, então a solução real que posso ver é descobrir como fazer com que os processos do Exim desistam mais cedo, para que eu não fique sem memória. Existe uma maneira na configuração do Exim para fazer isso? Ou simplesmente limitar quantos processos totais do Exim são executados no sistema? Note que estes são procs separados do Exim, disparados pelo nosso software de geração de e-mail personalizado, eles não são filhos do MTA principal do Exim. Eu não vejo nada nos documentos do Exim que pareçam abordar qualquer um destes.

observação: eu já tentei usar hubbed_hosts para fazer com que o Exim nem tente destinos do google, mas isso não está funcionando. Talvez eu tenha a formatação do meu arquivo hubbed_hosts errado? É isso (com o nome de domínio ofuscado):

.*google.com:  bulkflow.mydomain.org
.*gmail.com:  bulkflow.mydomain.org

Se eu tiver errado e puder consertá-lo, talvez essa seja a resposta.

    
por steev 20.04.2015 / 22:59

1 resposta

0

Remova o .* do seu arquivo hubbed_hosts, o% normal gmail.com etc. está correto.

Além disso, verifique a documentação excelente e procure itens como queue_run_max , queue_load_max , queue_only e smtp_receive_timeout .

Observe que o exim é muito bom em tratar corretamente as mensagens, mesmo que um proces que esteja manipulando uma mensagem seja eliminado; a mensagem permanecerá na fila, portanto, perder mensagens não deve ser uma preocupação.

Eu usei o exim para distribuir centenas de milhares de e-mails por dia e o Exim oferece muitos parâmetros de ajuste para que as coisas funcionem bem.

    
por 21.04.2015 / 15:51