Eu tenho um servidor web que estava na lista negra de enviar e-mail porque estava respondendo a SMTP HELO com localhost.localdomain em vez do nome de domínio do meu servidor (vamos chamá-lo example.com ). Consegui que o servidor respondesse ao HELO com example.com removendo localhost.localdomain do meu arquivo /etc/hosts . No entanto, agora, toda vez que tento enviar e-mail para um endereço com o mesmo nome de domínio, o sendmail está tentando entregar a mensagem localmente em vez de enviá-la via SMTP para nosso servidor de e-mail real (hospedado na Rackspace).
Segui o conselho aqui: Por que o sendmail está aceitando e-mails para nomes de host não presentes no arquivo local-host-names? e executou
echo '$=w' | sendmail -bt
E tenho:
[mail]
[162.243.XX.XXX]
mail
[mail.example.com]
mail.example.com
localhost
[127.0.0.1]
example.com
Pelo que entendi, o sendmail considera todos esses domínios locais. Eu defino DontProbeInterfaces=True no meu arquivo sendmail.cf . Agora quando eu corro
sendmail -bt
$=w
Eu recebo:
localhost
[127.0.0.1]
example.com
Eu também tentei remover example.com de /etc/mail/local-host-names , mas o sendmail ainda acha que example.com é local. Como posso fazer com que o sendmail pare de tentar a entrega de correio local para example.com endereços de e-mail?
EDITAR:
echo '$j' | sendmail -bt
produz
example.com
EDITAR:
Eu tentei alterar o nome do host de example.com para example , mas agora minha resposta SMTP HELO é localhost e demora vários minutos para enviar um e-mail. De acordo com isto: link sendmail espera que hostname seja o FQDN, mas me disseram que ele deveria nunca ser o FQDN. Qual é?
Isso está no meu mail.log :
Jul 28 16:40:01 localhost sm-msp-queue[1679]: My unqualified host name (localhost) unknown; sleeping for retry
Jul 28 16:41:01 localhost sm-msp-queue[1679]: unable to qualify my own domain name (localhost) -- using short name