Que Agentes de Transferência de Mensagens o PHP está usando?

1

Estou tentando diagnosticar um problema com alguns endereços de e-mail possivelmente bloqueados no meu servidor. Estou executando o PHP 5.3 no CentOS 5.7. O arquivo php.ini lista um sendmail_path de /usr/sbin/sendmail -t -i , que quando executado na CLI trava lá. Notei que o qmail também está instalado no meu servidor, mas não sei se o PHP está sendo usado ou não.

Como descubro quais MTAs (ou seja, sendmail, qmail, etc) estão sendo usados pelo PHP?

    
por symlink 08.02.2017 / 05:38

1 resposta

3

TL; DR: o PHP não cuida sobre qual MTA você está usando.

Explicação mais longa: isso remonta quase tanto quanto os próprios padrões POSIX, mas todo MTA escrito corretamente fornecerá um binário chamado sendmail que se comportará exatamente como seria de esperar que o programa "oficial" sendmail se comportasse.

Como resultado, todo programa unix ou daemon que, por uma razão ou outra, precisa enviar um e-mail para alguém, sabe que pode apenas chamar /usr/sbin/sendmail com opções conhecidas e ter certeza de que seja qual for o MTA instalado saberá o que fazer com a mensagem daí em diante.

Assim, a menos que você use um módulo PHP SMTP específico e use explicitamente configurações de correio diferentes (geralmente, um servidor / porta remoto com ou sem TLS e / ou autenticação), ele só chamará /usr/sbin/sendmail e deixará o subjacente distribuição se preocupar com o que acontece a seguir.

Se o seu e-mail não estiver chegando, recomendo que você verifique os logs de erro do MTA (geralmente em /var/log/mail.* , mas depende da sua distribuição e do MTA) para obter respostas.

    
por 08.02.2017 / 10:47