Tenho lido as especificações SMTP e outros RFCs relacionados (principalmente 8314 e 6409 ) e não consigo entender isso, então espero que vocês possam me ajudar.
Estou tentando configurar um servidor SMTP para testar a entrega de mensagens transacionais e ele está funcionando conforme o esperado no envio, ou seja, se apontarmos nosso remetente de e-mail para ele, ele solicitará autenticação com sucesso, receberá a mensagem e a armazenará. Tudo isso pela porta 587 usando TLS.
Agora quero adicionar um mecanismo abrangente para que todos os emails entregues para *@meudominio.com sejam armazenados no mesmo banco de dados, então comecei a fazer algumas pesquisas. O que descobri é que, uma vez enviado um e-mail via SMTP, ele também é entregue pelo MTA usando SMTP, no que a especificação chama de 'retransmissão de mensagem'.
Pelo que entendi, você precisa escutar em ambas as portas, 587 para 'envio de mensagem' (com autenticação, verificando se o remetente está no seu servidor) e porta 25 para 'retransmissão de mensagem' (sem autenticação, verificando se o destinatário está ligado seu servidor). Devido a limitações na estrutura do servidor subjacente, não haverá suporte para STARTTLS, apenas TLS implícito, portanto, não haverá porta 465.
Então, a questão é: estou entendendo certo, que deveria haver duas portas de escuta com uma finalidade diferente?
E um bônus: ¿como um servidor negocia autenticação quando as portas são intercambiáveis (por exemplo, no CPanel você pode usar 465 ou 25 para envio, a única diferença é o suporte TLS em cada porta; mas eles também recebem mensagens de entrada pela porta 25 )?
É importante observar que o objetivo do servidor não é enviar mensagens, mas apenas recebê-las de aplicativos da web (por exemplo, para testar se o envio de redefinição de senha funciona) ou de outros servidores de e-mail/MTAs (como o Mailinator faz, com um registro MX curinga, para testar mensagens/respostas recebidas).
Desde já, obrigado!
O SMTP na porta 25 sempre foi a conexão MTA para MTA. Originalmente, era bastante aberto para que sua organização pudesse receber e-mails de qualquer outra organização sem precisar providenciar a autenticação com antecedência.
Nos primeiros dias dos MUAs em PCs, eles também enviavam via SMTP para a porta 25 do MTA de sua organização, mas isso levava a um problema de “retransmissões abertas” que os spammers poderiam abusar. Portanto, a porta 587 foi definida como a nova porta a ser usada pelos MUAs ao enviar e-mails ao MTA de sua organização, de modo que a porta 587 pudesse exigir autenticação para manter os spammers afastados. E, como você observou, qualquer coisa que chegasse à porta 25 tinha que ser para um usuário local válido ou seria rejeitada, novamente para evitar abusos.
Então, em geral, se você precisa que seu MTA receba mensagens de outros MTAs, você precisa da porta 25 aberta, e se você precisa que seu servidor de e-mail receba mensagens de MUAs em execução em outros hosts, você precisa da porta 587 aberta (com autenticação necessária). .