Em que condições o sendmail tentará reenviar uma mensagem imediatamente, em vez de aguardar o intervalo padrão de reenvio?

1

CentOS 5.8 | Sendmail 8.14.4

Eu costumava pensar que, se o SendMail tivesse um erro temporário (classe 400) durante a entrega, ele colocaria a mensagem em uma fila adiada (por exemplo, / var / spool / mqueue) e tentaria novamente uma hora depois. Na maior parte, parece ser esse o caso. Mas de vez em quando, vou notar entradas de log como esta (email / domínios renomeados para proteger os inocentes :-)):

Dec 5 01:43:03 foobox-out sendmail [11078]: qBE3l7js123022: to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=124588, relay=exbox.foo.com. [10.10.10.10], dsn=4.0.0, stat=Deferred: 421 4.3.2 The maximum number of concurrent connections has exceeded a limit, closing transmission channel

Dec 5 01:53:34 foobox-out sendmail [12763]: qBE3l7js123022: to=<[email protected]>, delay=00:10:31, xdelay=00:00:00, mailer=relay, pri=214588, relay=exbox.foo.com., dsn=4.0.0, stat=Deferred: 452 4.3.1 Insufficient system resources

Dec 5 02:53:35 foobox-out sendmail [23255]: qBE3l7js123022: to=<[email protected]>, delay=01:10:32, xdelay=00:00:01, mailer=relay, pri=304588, relay=exbox.foo.com. [10.10.10.10], dsn=2.0.0, stat=Sent (<[email protected]> Queued mail for delivery)

Por que o Sendmail tentou novamente apenas 10 minutos após a primeira tentativa e depois esperou mais uma hora antes de tentar novamente?

Se esse for o comportamento esperado, quais cenários farão com que esse intervalo de reenquadramento mais rápido ocorra?

    
por Mike B 07.12.2012 / 20:35

1 resposta

1

Você pode ler com mais detalhes na seção 29.9.99 da 4ª edição do livro de morcegos. O resultado é que na maioria das vezes as mensagens que não são entregues continuam a falhar.

Assim, quando uma mensagem é colocada na fila, o sendmail calcula sua prioridade com base no RecipentFactor e no ClassFactor e processa os com prioridade mais baixa primeiro. As tentativas com falha são ajustadas usando o RetryFactor e assim por diante.

Também no seu caso, um 452 diz à máquina para adiar a entrega até mais tarde. Quanto mais tarde depende do valor próximo a -q quando você inicia o sendmail.

    
por 21.12.2012 / 13:10