O servidor SMTP funciona, mas o telnet para a porta 25 não

1

Estou executando um servidor SMTP leve para processar emails recebidos. Estou usando o link . Eu abri a porta 25 no meu firewall e estou executando o servidor em 0.0.0.0:25.

Tudo está funcionando como eu esperava. Quando eu envio e-mail para [email protected], o servidor recebe a mensagem.

O que é estranho para mim é que quando eu faço telnet para a porta 25 de fora do VPS, ele não conecta e expira:

$ telnet mydomain.com 25
Trying <IP address removed>...
telnet: connect to address <IP address removed>: Operation timed out
telnet: Unable to connect to remote host

Quando eu faço telnet de dentro do VPS, ele funciona como deveria:

$ telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 hobnob Python SMTP proxy version 0.2

Eu não consigo pensar em nenhuma razão para isso acontecer. O que poderia ser?

ATUALIZAÇÃO:

Consegui estabelecer uma conexão usando um shell Python:

from smtplib import SMTP
conn = SMTP('mydomain.com')

Confirmei que isso falhará se o servidor não estiver em execução. Parece que talvez o telnet não consiga estabelecer a conexão corretamente? Não tenho certeza, mas é claro que as conexões podem ser feitas para o servidor por software de e-mail, que é o que eu realmente estava tentando testar.

    
por hekevintran 07.07.2013 / 21:42

2 respostas

3

Existem algumas razões para isso.

Pode ser que a porta 25 esteja sendo bloqueada pelo seu provedor de VPS. Muitos exigirão que você peça especificamente que seja aberto, para ajudar a reduzir o spam.

Além disso, seu firewall pode estar bloqueando o tráfego de entrada da porta 25. Livre-se disso.

A outra coisa comum é ouvir apenas no localhost, embora você tenha definido 0.0.0.0 como o endereço de ligação que não deveria ser o problema.

Geralmente, as mensagens de entrada chegam por meio de alguma outra porta (particularmente, envio na porta 587), portanto, você ainda pode receber e-mails com a porta 25 bloqueando.

    
por 07.07.2013 / 21:45
0

Você verificou os registros MX do DNS para "mydomain.com"? Por exemplo:

dig +short mydomain.com MX

Faça isto dentro e fora do seu VPS: os resultados podem ser diferentes.

O seu provedor de VPS pode ter providenciado a entrada de e-mail externo de entrada através de seus servidores de retransmissão de correio central. Isso permite que eles criem proteções contra malware e outros abusos em nome dos usuários. (Também pode permitir outras coisas, mas é para isso que serve a criptografia de e-mail.) Uma vez que o e-mail tenha passado pelo servidor do provedor, ele será automaticamente encaminhado para o sistema.

Se esse sistema de retransmissão foi configurado, o acesso direto à porta 25 do seu VPS da Internet pode ter sido bloqueado.

O Python smtplib pode ser inteligente o suficiente para verificar automaticamente os registros MX e conectar-se automaticamente ao (s) servidor (es) de retransmissão indicado (s) em vez de diretamente ao seu próprio servidor. Telnet definitivamente não vai.

    
por 16.12.2017 / 13:47

Tags