Conexão recusada. Por que não consigo enviar e-mails de um servidor, mas posso de outro?

3

Estou tentando enviar e-mail do PHP usando o mail (). Eu tenho acesso completo aos dois servidores. Nenhuma regra iptables incomum em nenhuma delas (nada que bloqueia uma instalação padrão de sendmail )

Eu instalei o sendmail no servidor um par de anos atrás (Ubuntu 10.10) e isso envia um e-mail do PHP muito bem. O novo servidor (Ubuntu 10.04, configurado esta semana) não enviará mensagens - ou está tentando, mas todos os destinatários se recusam a receber .

Eu verifiquei os logs do sendmail no novo servidor e ele está mostrando que todos os servidores MX dos domínios do destinatário são Connection refused ...

Não há diferenças na configuração desses servidores. Eles têm a instalação padrão do sendmail. Uma pilha LAMP padrão. Eles estão em IPs diferentes, mas operam sob o mesmo domínio (embora obv. Máquinas diferentes no domínio).

A única coisa que posso pensar é que o DNS reverso configurado para o novo servidor não está sendo aceito pelo filtro de spam nos servidores MX do destinatário. Isso é possível? Eu já coloquei em um pedido para obter o DNS reverso alterado para algo mais adequado para o domínio do novo servidor.

O servidor mais antigo está atrás de um roteador NAT, portanto, o endereço IP do qual o e-mail parece vir quando envia do servidor antigo é resolvido para um nome de domínio que 'corretamente' representa o servidor ... mas o IP do novo servidor está conectado diretamente para o servidor, mas o rDNS atual é resolvido para um domínio completamente diferente.

Há mais alguma coisa que eu possa estar faltando?

ATUALIZAÇÃO:

Um exemplo de linha /var/log/mail.log

Jan 11 12:16:03 ernesto sm-mta[1177]: q071CKnQ002371:
to=<[email protected]>, ctladdr=<[email protected]> (33/33), delay=4+11:03:43,
xdelay=00:00:00, mailer=esmtp, pri=58080351, relay=aspmx3.googlemail.com.,
dsn=4.0.0, stat=Deferred: Connection refused by aspmx3.googlemail.com.
    
por simonhamp 08.01.2012 / 22:35

3 respostas

0

Resolvido! Descobriu-se que o provedor de hospedagem tinha alguns bloqueios de conta de teste para impedir o abuso. Aparentemente, isso normalmente seria levantado quando novos clientes passam pela autenticação (o que eu fiz), mas eles não eram. Felizmente eles já foram e posso enviar e-mails perfeitamente.

Então a lição aqui: não assuma nada! Volte ao seu provedor primeiro para verificar com eles se algo pode estar atrapalhando o que você está fazendo.

Desculpe ter te incomodado com pessoas boas. Obrigado por todas as suas sugestões. Todos eles ajudaram a encontrar a resposta no final:)

    
por 11.01.2012 / 16:37
1

Verifique sua conectividade de saída tentando se conectar a um servidor de correio externo manualmente. A maneira mais simples é provavelmente executar telnet aspmx.l.google.com 25 e ver se você faz contato.

Se isso funcionar, então é a configuração do sendmail.

Como este é o Ubuntu, eu ficaria realmente tentado a apt-get install postfix , escolha a opção correta do assistente e deixe-se resolver! A menos que você tenha uma boa razão para usar o sendmail (eles são quase 100% compatíveis em termos de CLI, PHP, etc), então instale o Postfix.

    
por 09.01.2012 / 00:44
0

É um problema de rede. "conexão recusada" significa conexão recusada. Então nada com o software, mas com a rede.

Comece com verificações de problemas de rede. Ping, traceroute, telnet, route, iptables e outros vêm à mente. Primeira partida: o cabo de rede está conectado?

    
por 09.01.2012 / 00:35