Depurando "incapaz de conectar ao servidor sendmail"

Depurando "incapaz de conectar ao servidor sendmail"

Em um ambiente corporativo, temos um servidor de e-mail que possui apenas as portas 25/tcp e 587/tcp disponíveis.

Quando usamos scripts Perl (usando HTML::Mail) para enviar centenas de e-mails legítimos, ocasionalmente falha com "Falha ao conectar ao servidor de e-mail".

Sentimos que a carga pesada no servidor sendmail está fazendo com que ele rejeite a conexão, ou talvez nem responda à solicitação inicial.

Agora, a equipe proprietária do servidor de e-mail não coopera e exige prova de que o servidor rejeitou a conexão.

Pergunta: Quais informações podem ser coletadas do lado do cliente em caso de falha, assumindo que o problema esteja no lado do servidor? Como provar que o problema está no lado do servidor, desde que seja realmente o caso?

[[Não tenho certeza se esta pergunta é válida aqui; Não posso pedir ajuda para resolver o problema quando o problema em si não está claro; Estou pedindo uma pequena lista de dicas e truques para ajudar a depurar esse problema; Eu estaria até aberto a sugestões sobre soluções alternativas]]

Responder1

A solução é a equipe do sendmail examinar o arquivo "/etc/mail/sendmail.mc":

dnl #
dnl # The following limits the number of processes sendmail can fork to accept 
dnl # incoming messages or process its message queues to 20.) sendmail refuses 
dnl # to accept connections once it has reached its quota of child processes.
dnl #
dnl define(`confMAX_DAEMON_CHILDREN', `20')dnl
dnl #
dnl # Limits the number of new connections per second. This caps the overhead 
dnl # incurred due to forking new sendmail processes. May be useful against 
dnl # DoS attacks or barrages of spam. (As mentioned below, a per-IP address 
dnl # limit would be useful but is not available as an option at this writing.)
dnl #
dnl define(`confCONNECTION_RATE_THROTTLE', `3')dnl

(Treat "dnl" as a comment leadin string.)

Se você está apenas enviando e-mails, provavelmente deveria restringi-los.

Responder2

Registre mensagens de erro e a hora EXATA em que os problemas ocorrem. Deve ajudar os administradores do sendmail a identificar problemas nos arquivos de log.

Com o envio em massa você deve:
a) reutilizar a conexão SMTP para enviar muitos e-mails (por exemplo, 50)
b) limitar o número de mensagens enviadas por segundo (por exemplo, 20-50)

Outras medidas que eu poderia sugerir seriam específicas do sendmail e exigiriam a cooperação dos administradores do sendmail.

informação relacionada