Tenho algumas perguntas básicas sobre conexões SMTP, principalmente para Postfix, mas também gostaria de receber conselhos para o MS Exchange:
- Quando uma única retransmissão para um determinado domínio remoto fica indisponível, com que frequência um postfix mta que está enviando e-mail para esse domínio verifica novamente se o serviço está disponível?
- As conexões com falha são "lembradas" (ou seja, armazenadas em cache)?
- O postfix sempre verifica se os relés de "prioridade mais baixa" estão online enquanto um relé de "prioridade mais alta" está disponível?
- Algum dos itens acima pode ser ajustado no postfix?
Isenção de responsabilidade: esta resposta usa apenas alguma documentação postfix na Internet, então talvez eu tenha perdido alguns fatos aqui. Para obter uma documentação melhor e precisa, sinta-se à vontade para postar a pergunta na lista de discussão do postfix (Wietse Venema é uma pessoa ativa nessa lista) ou procure no código-fonte do postfix.
Todas as perguntas acima estão focadas no algoritmo de recuo pós -fixado . Primeiro, tentarei resolver o problema de desativação de mortos
Aqui a parte relevante de
man 8 qmgr
Com base no exposto acima, o postfix realmente possui cache para o host de destino morto. Para controlar esse comportamento, ajuste o
qmgr_message_recipient_limit
parâmetro .Então, quando o postfix verificar se o host está ativo? O Postfix só tenta se conectar ao host se houver uma mensagem na fila ativa que tenha um destino nela. Fora isso, o postfix não verifica ativamente se o host voltou a funcionar.
O postfix verifica apenas o host MX de prioridade mais baixa, se o host primário não estiver disponível ou o postfix obtiver o código de erro 4xx do host remoto. Outros MTAs se comportam de maneira diferente quando obtêm o código de erro 4xx, pois podem nunca tentar se conectar ao host MX secundário, desde que o MTA possa se conectar ao host principal. Veja: destino postfix cheio/ocupado/erro tente outro destino e o Exchange não envia e-mail para o segundo MX
Em relação ao tempo de repetição da mensagem, o postfix colocará a mensagem na fila deferida se não conseguir entregá-la até
bounce_queue_lifetime
(para o bounce gerado pelo postfix) oumaximal_queue_lifetime
(para os demais). Como dito acima, o postfix só entrega novamente se o qmgr o colocar na fila ativa. Aqui o trecho relevante dos documentos postfix sobre o algoritmo de agendamento postfix.Portanto, se você deseja ajustar o tempo de repetição, sinta-se à vontade para brincar com os parâmetros minimal_backoff_time , maximal_backoff_time e queue_run_delay .