É uma pergunta comum que recebemos aqui no Mailgun sobre números de portas SMTP. Para assegurar a conectividade com o nosso terminal Simple Mail Transfer Protocol (SMTP), Mailgun oferece múltiplas opções de porta SMTP, mas qual delas deve ser utilizada para enviar mensagens de correio electrónico? Daremos uma olhada histórica a cada porta SMTP e depois discutiremos a metodologia de hoje para a utilização de correio de saída. Se não for um “buff” histórico, vá a “Qual a porta SMTP que deve utilizar?” para as portas SMTP mais comuns.
O que é uma porta SMTP?
Antes da nossa viagem através do histórico, esclareceremos algumas definições básicas.
SMTP significa Simple Mail Transfer Protocol-put simplesmente, é o processo pelo qual os emails são enviados através da Internet. As portas dos computadores são a forma como os computadores individuais se ligam a uma rede e processos electrónicos completos. Uma porta SMTP é uma combinação de ambas: uma porta concebida para enviar correio electrónico através de uma rede e para o seu destinatário.
Obtendo, tal como existem múltiplas portas de computador, existem muitas portas SMTP que podem ser utilizadas. Vejamos o seu desenvolvimento.
PortasSMTP: A Historical Perspective
Em 1982, a Universidade do Sul da Califórnia submeteu uma proposta à Internet Engineering Task Force (IETF). A Request For Comments (RFC) 821 foi publicada, estabelecendo a porta 25 como o canal de transmissão padrão para o correio electrónico da Internet. 30 anos mais tarde, ainda usamos a porta 25 como o principal meio de transmissão de correio electrónico entre dois servidores de correio. Alguns RFCs tornaram obsoleto o RFC SMTP inicial. Contudo, a base para ligações SMTP permanece a mesma ou semelhante.
Em Dezembro de 1998, R. Gellens e J. Klensin submeteram RFC 2476 em apoio à adição de uma nova especificação para comunicações de correio electrónico via Internet. O RFC propôs uma divisão do conceito tradicional de envio e retransmissão de mensagens. O RFC definiu que a submissão de mensagens deveria ocorrer através da porta 587 para assegurar que as novas políticas e requisitos de segurança não interferissem com o tráfego tradicional de retransmissão através da porta de retransmissão de mensagens 25.
E a porta 465?
Interessantemente, a porta 465 nunca foi publicada como um canal oficial de transmissão ou submissão SMTP pela IETF. Em vez disso, a Internet Assigned Numbers Authority (IANA), que mantém grande parte da infra-estrutura central da Internet, registou a porta 465 para SMTPS. O objectivo era estabelecer uma porta para SMTP para operar utilizando a camada Secure Sockets Layer (SSL). O SSL é normalmente utilizado para encriptar comunicações através da Internet.
A porta foi atribuída durante cerca de um ano quando foi revogada em apoio à segurança das comunicações SMTP utilizando a Camada de Segurança de Transporte (TLS). O prego no caixão era um novo comando de protocolo “STARTTLS”, introduzido no RFC 2487. Este comando permite que os servidores SMTP comuniquem através das portas existentes, anunciando se o servidor de destino suporta a encriptação TLS. Se assim for, o servidor de envio pode actualizar a ligação utilizando o comando SMTP “STARTTLS”.
Mailgun suporta ligações TLS, que pode verificar ligando e emitindo um “ehlo” a partir de uma interface de linha de comando. O “250 STARTTLS” resultante confirma que o ponto final aceita pedidos de ligação TLS.
> telnet smtp.mailgun.org 587
2Trying 50.56.21.178...
3Conectado a smtp.mailgun.org.
4Escapa o carácter é '^]'.
5220 ak47 ESMTP ready
> ehlo blog.mailgun.com
7250-ak47
8250-AUTH PLAIN LOGIN
9250-SIZE 52428800
10250-8BITMIME
11250-ENHANCEDSTATUSCODES
12250 STARTTLS
Pode testar usando a mesma sequência de comandos em qualquer servidor SMTP. Tente Gmail ou Yahoo, “telnet gmail-smtp-in.l.google.com 25” ou “telnet mta7.am0.yahoodns.net 25”.
Qual a porta SMTP que deve usar?
E que tal hoje? Em que são diferentes estas portas padrão? Têm alguma depreciada com o tempo?
Porto 25:
Porta SMTP 25 continua a ser usada principalmente para retransmissão SMTP. SMTP relaying é a transmissão de correio electrónico do servidor de correio electrónico para o servidor de correio electrónico.
Na maioria dos casos, os clientes modernos de correio electrónico SMTP (Microsoft Outlook, Mail, Thunderbird, etc.) não devem utilizar esta porta. É tradicionalmente bloqueada por ISPs residenciais e Provedores de Alojamento em Nuvem, para reduzir a quantidade de spam que é retransmitido de computadores ou servidores comprometidos. A menos que esteja a gerir especificamente um servidor de correio, não deverá ter tráfego a atravessar esta porta no seu computador ou servidor.
Port 465:
IANA reatribuiu um novo serviço a esta porta, e este já não deve ser utilizado para comunicações SMTP.
No entanto, como uma vez foi reconhecido pela IANA como válido, pode haver sistemas herdados que só são capazes de utilizar este método de ligação. Tipicamente, só poderá utilizar esta porta se a sua aplicação assim o exigir. Uma pesquisa rápida no Google, e encontrará muitos artigos dos Provedores de Serviços Inbox (ISPs) de consumidores que sugerem a porta 465 como a configuração recomendada. Contudo, não o recomendamos, pois não é compatível com RFC.
Port 587:
Esta é a porta de submissão de correio por defeito. Quando um cliente de correio electrónico ou servidor de envio está a submeter um correio electrónico para ser encaminhado por um servidor de correio adequado, deve sempre utilizar a porta SMTP 587 como porta padrão.
Esta porta, juntamente com a encriptação TLS, assegurará que o correio electrónico é submetido de forma segura e seguindo as directrizes estabelecidas pela IETF.
Todos os clientes de Mailgun devem considerar a utilização da porta 587 como porta SMTP por defeito, a menos que estejam explicitamente bloqueados pela sua rede upstream ou fornecedor de alojamento.
Port 2525:
Esta porta não é endossada pela IETF nem pela IANA. Em vez disso, a Mailgun fornece-a como porta alternativa, que espelha a porta 587, no caso de as portas acima referidas estarem bloqueadas. Como 2525 é um número de porta elevado não tradicional, é tipicamente permitido em ISPs de consumo e fornecedores de Cloud Hosting, como o Google Compute Engine. Se já experimentou as portas acima, mas tem problemas de conectividade, experimente a porta 2525. Esta porta também suporta encriptação TLS.
Wait, e que tal POP e IMAP?
POP (Post Office Protocol, sendo a última versão POP3) e IMAP (Internet Message Access Protocol) são dois dos primeiros protocolos desenvolvidos na Internet de consumo que permitiram aos clientes de correio electrónico – como Outlook, Thunderbird e outros – recuperar correio a partir de um servidor de correio.
As portas tipicamente utilizadas para POP são as portas TCP 110 e 995, e para IMAP são as portas TCP 143 e 993, para sessões inseguras e seguras respectivamente. Cada uma delas era boa a fazer coisas diferentes, como reflectir o estado de um e-mail de volta ao servidor (quer fosse lido, assinalado, ou marcado como lixo), ou para preservar uma cópia da mensagem numa máquina local para fácil acesso offline. A última versão do POP, POP3, pode ser utilizada com ou sem um SMTP.
Isto não afecta a porta que se pode utilizar com Mailgun. Mailgun não hospeda caixas de correio, por isso estes não são protocolos que suportamos.
Usar SMTP com Mailgun
SMTP existe há anos, e muitas pessoas perguntam-nos se devem usar SMTP ou o endpoint API do Mailgun. Decidir se deve utilizar um API ou SMTP para enviar os seus e-mails pode não ser uma escolha fácil.
Reconhecemos certamente que existe algum nível de bloqueio de fornecedor associado à construção em torno de um API. Contudo, o SMTP é extremamente “tagarela” e pode levar a um envio de correio menos performante para o Mailgun.
Por exemplo, considere a típica conversa de correio TLS entre o meu computador e o terminal SMTP do Mailgun:
> openssl s_client -starttls smtp -crlf -connect smtp.mailgun.org:587
2250 STARTTLS
> ehlo blog.mailgun.com
4250-ak47
5250-AUTH PLAIN LOGIN
6250-SIZE 52428800
7250-8BITMIME
8250-ENHANCEDSTATUSCODES
> AUTH PLAIN AHBvc3RtYXN0ZXJAc2FtcGxlcy5tYWlsZ3VuLm9yZwAza2g5dW11am9yYTU=
10235 2.0.0 OK
> MAIL FROM:<[email protected]>
12250 Endereço do remetente aceite
> RCPT TO:<[email protected]>
14250 Endereço do destinatário aceite
> DATA
16354 Continue
> Este é um teste de SMTP sobre a porta 587.
> .
19250 Grande sucesso
> QUIT
21221 Até logo. Atenciosamente, Mailgun
Como pode ver, a comunicação acima é bastante pesada, com muitas idas e vindas entre o remetente e o receptor. Abrimos uma ligação ao servidor SMTP, emitimos o comando EHLO, autenticamos, definimos o MAIL FROM, definimos o comando RCPT TO, DATA, enviamos os dados, período para fechar, e finalmente recebemos a confirmação de que a mensagem foi enfileirada.
Compare isto com uma carga útil HTTPs:
> openssl s_client -connect api.mailgun.net:443
> POST /v2/samples.mailgun.org/messages HTTP/1.1
> Autorização: Basic YXBpOmtleS0zYXg2eG5qcDI5amQ2ZmRzNGdjMzczc2d2d2anh0ZW9sMA===
> Content-Type: aplicação/x-www-form-urlencoded
> Content-Length: 126
>
> a partir de= amostras de teste%40.mailgun.org&to=recipient%40samples.mailgun.org&subject=Testing&
> text= This+is+a+test+of+HTTP+over+port+443!
9HTTP/1.1 200 OK
Aqui, iniciamos uma ligação, passamos a carga útil do HTTP POST e recebemos um 200 OK do ponto final da API. Não temos de emitir uma sequência de comandos e esperar por uma resposta do servidor após cada comando.
O que deve lembrar sobre as portas SMTP?
Em resumo, onde o desempenho é desejado, Mailgun recomenda a utilização do nosso endpoint API. A quantidade de “chatting” para a frente e para trás é muito menor. E com os nossos API SDKs, a ligação é bastante simples. Se não estiver interessado em ligar-se via API, os nossos endpoints SMTP estão prontos para o seu correio. Só não se esqueça – a porta 587 é onde a parte está no que diz respeito a SMTPs seguros!
Para saber mais, consulte a nossa Documentação para mais informações, ou contacte-nos e podemos responder a quaisquer perguntas que possa ter sobre portas SMTP ou sobre os nossos serviços de correio electrónico.