Três partes principais estão envolvidas na transferência de uma mensagem eletrônica: o remetente, o destinatário e o servidor de email. O email vai do remetente para o servidor de email, que então permite que o destinatário receba a mensagem.
Qual é o papel dos protocolos de email aqui? Eles estabelecem conexões entre as partes transferidoras. Portanto, um protocolo é necessário para enviar e outro para receber.
Hoje, vamos revisar e comparar os três protocolos de email mais comumente usados – IMAP vs POP3 vs SMTP – e ajudar você a escolher a opção certa para suas necessidades.
O que é um protocolo de email?
Um protocolo de email é uma combinação de princípios e regras que tornam possível transferir mensagens entre diferentes servidores, máquinas e clientes de email. Ele cria padrões que as mensagens devem seguir para chegar aos destinatários em seu estado original.
Por exemplo, quando você envia um email do cliente Gmail para alguém com endereço do Outlook, você espera que todos os anexos e elementos do corpo estejam presentes quando visualizarem seu email. Isso é verdade, quer eles usem clientes Apple Mail, Microsoft Outlook ou Thunderbird para acessar sua caixa de entrada.
Os protocolos de email também determinam como as mensagens devem ser enviadas e acessadas, qual formato elas devem ter e qual estrutura a conexão deve seguir.
SMTP – um protocolo padrão para enviar emails
O que é SMTP?
O Simple Mail Transfer Protocol (SMTP) estabelece como a mensagem chega do remetente ao servidor de email. Além disso, é usado por um agente de transferência de email (MTA) para entregar emails entre servidores. Esse processo é chamado de retransmissão de email (ou retransmissão SMTP).
SMTP é destinado apenas ao envio de mensagens de email.
Como o SMTP funciona
O fluxo de trabalho do SMTP consiste em comandos enviados pelo cliente SMTP e respostas correspondentes pelo servidor SMTP.
Os comandos SMTP padrão são baseados em texto, como HELO, MAIL FROM e outros. Às vezes, você pode encontrar comandos SMTP estendidos (ESMTP), como EHLO, STARTTLS, etc.
As respostas são representadas por códigos numéricos de conclusão (por exemplo, 220, 250, 354, e assim por diante). Para mais sobre comandos SMTP e códigos de resposta, leia nosso post dedicado no blog.
Qualquer conversa SMTP consiste em três etapas:
- Handshake SMTP – O cliente SMTP estabelece uma conexão TCP com o servidor SMTP. Uma vez que o servidor responde com 250, a negociação começa. A etapa termina quando o servidor confirma o endereço do destinatário.
- Transferência de email – O código 354, como resposta ao comando DATA, inicia a transferência do email. Uma vez que o servidor recebe um ponto final, a mensagem é transferida.
- Terminação – Cliente e servidor se despedem usando o comando QUIT e o código 221, respectivamente.
Vamos dar uma olhada na interação entre o cliente SMTP e o servidor através de um exemplo simples de entrega de email:
Comando ou resposta | O que significa | |
Cliente: | HELO client.rocket.com ou EHLO client.rocket.com | Identifica-se e inicia a conversa SMTP. O nome de domínio ou endereço IP geralmente é enviado como um argumento junto com o comando. EHLO é um comando alternativo para iniciar a conversa. Identifica que o cliente usa o protocolo ESMTP. |
Servidor: | 250 | OK ou completado |
Cliente: | MAIL FROM:<andy@rocket.com> | Informa que uma nova transação de email está começando e especifica o remetente. |
Servidor: | 250 | OK ou completado |
Cliente: | RCPT TO:<jane@gmail.com> | Especifica o destinatário. (Para vários destinatários, o comando será repetido para o endereço de cada destinatário) |
Servidor: | 250 | OK ou completado |
Cliente: | DATA | Inicia a transferência do conteúdo do email, incluindo corpo de texto, anexos e assim por diante. |
Servidor: | 354 | Permite que o cliente inicie a transferência de conteúdo. |
Cliente: | Date: Qua, 24 Julho 2019 16:03:23 | Data |
Cliente: | From: andy@rocket.com | Cabeçalho From |
Cliente: | Subject: How SMTP works | Assunto |
Cliente: | To: jane@gmail.com | Cabeçalho To |
Cliente: | Linha vazia | |
Cliente: | Espero que não seja aborrecido:) | Corpo de texto |
Cliente: | . | Uma vez que o conteúdo da mensagem foi transferido, um único ponto deve ser enviado em uma linha para terminar. |
Servidor: | 250 | OK ou completado |
Cliente: | QUIT | Solicitação para terminar a conversa SMTP |
Servidor: | 221 | Fecha o canal de transmissão |
Portas SMTP
- 25
Esta é uma porta padrão para retransmissão de mensagens entre servidores de email. Provedores de hospedagem em nuvem e muitos clientes de email (Gmail, Microsoft Outlook, Mozilla Thunderbird, etc.) bloqueiam a porta 25 para evitar spam. Eles geralmente priorizam conexões seguras como 587 ou 465.
- 465
465 não é uma porta compatível com RFC. Foi destinada ao wrapper de criptografia e autenticação SMTPS sobre SMTP. A IANA registrou 465 como uma porta SMTP, mas nunca foi reconhecida como um canal oficial de transmissão ou submissão SMTP.
Mais tarde, a porta 465 tornou-se obsoleta e foi revogada em favor do wrapper STARTTLS sobre SMTP. No entanto, hoje muitos servidores ainda usam SMTPS e mantêm a 465.
- 587
Uma porta SMTP padrão 587 é a opção para enviar um email para roteamento. A criptografia TLS garante a submissão segura do email. Quase todos os servidores de email suportam 587.
- 2525
Não é uma porta SMTP oficial, mas quase qualquer provedor de serviços de email a suporta. 2525 é protegida de maneira semelhante à 587 e é frequentemente usada em seu lugar. Portanto, se o uso da porta SMTP padrão causar algum problema, tente 2525.
Para mais informações sobre isso, leia nosso post no blog sobre portas SMTP.
E para aprofundar o seu conhecimento sobre as diferenças entre SMTP e um protocolo como IMAP, confira este vídeo:
IMAP4 e POP3 – protocolos para receber emails
Uma vez que o email bate à porta do servidor de email, IMAP ou POP3 serão usados para recuperá-lo. Ambos esses servidores são agentes de acesso a mensagens (MAAs).
O que é IMAP?
O Internet Message Access Protocol (IMAP) é um padrão de comunicação para acessar emails. Hoje, sua quarta versão está em uso, daí o nome IMAP4.
IMAP armazena emails em um servidor remoto e os baixa sob demanda quando o destinatário os abre. Portanto, o protocolo IMAP permite o acesso ao email de qualquer dispositivo ou local se autorizado. Isso permite a sincronização de emails, razão pela qual o IMAP é a opção preferida para a maioria dos provedores de serviços de email.
Como o IMAP funciona
Aqui está o fluxo básico da interação cliente/servidor IMAP:
- O cliente de email do destinatário conecta-se ao servidor onde a mensagem está armazenada.
- O destinatário pode ver os cabeçalhos das mensagens de todos os emails no servidor.
- Se o destinatário escolher uma mensagem específica para ler, o IMAP a baixa sob demanda.
Nos bastidores, uma conexão IMAP primitiva pode parecer assim:
Comando do cliente | Descrição |
LOGIN | Abre a conexão IMAP |
LISTCREATERENAME e outros comandos | Comandos que permitem gerenciar a caixa de correio |
SELECT | Define a caixa de correio atual e abre uma sessão IMAP |
LISTDOWNLOADDELETE e outros comandos | Comandos que permitem gerenciar mensagens |
CLOSE | Fecha a sessão IMAP. Se você quiser abrir uma nova sessão, pode fazer isso configurando outra caixa de correio atual. Uma vez que a nova sessão é aberta, o servidor IMAP atualiza permanentemente as mensagens de acordo com a sessão anterior. |
LOGOUT | Fecha a conexão IMAP |
Aqui você encontrará uma seleção completa de comandos do cliente.
Bolas! Esquecemo-nos das respostas do servidor IMAP. Existem três formas delas:
- Respostas de Status (OK, NO, BAD, PREAUTH, and BYE)
Elas podem incluir um código de resposta como ALERT ou CAPABILITY. Um código de resposta fornece informações adicionais além da condição de resposta de status.
- Dados do Servidor
These responses include Server and Mailbox Status (CAPABILITY, LIST, etc.), Mailbox Size (EXISTS and RECENT), and Message Status (EXPUNGE and FETCH)
- Solicitação de Continuação de Comando
Essa resposta confirma que o servidor está pronto para aceitar a continuação do comando do cliente. É representada por um token “+”.
Portas IMAP
- 143 – Uma porta IMAP padrão sem criptografia
- 993 – Uma porta SSL/TLS segura usada pela maioria dos provedores de serviços de email. É frequentemente chamada de IMAPS.
O que é POP3?
O Post Office Protocol 3 é uma maneira mais simples de acessar caixas de correio. Usamos sua terceira versão – por isso é chamado de POP3. Os usuários adoram esse protocolo por sua baixa dependência de conexões à Internet.
O protocolo POP3 baixa emails do servidor para o computador local, para que você possa lê-los mesmo offline. O servidor exclui as mensagens assim que são recuperadas. Esta é a configuração padrão e comum, mas há a opção de impor uma política de site em relação à retenção de emails no servidor.
Ao mesmo tempo, mesmo que o cliente POP3 contenha opções de configuração para armazenar emails, o servidor não suportará tal ação.
Como o POP3 funciona
A conexão POP3 consiste em quatro etapas:
- O cliente conecta-se ao servidor (Estado de AUTORIZAÇÃO)
- O cliente recupera novos emails (Estado de TRANSAÇÃO)
- O servidor exclui as mensagens armazenadas (Estado de ATUALIZAÇÃO)
- O cliente desconecta-se do servidor
Vamos dar uma olhada nos bastidores de uma sessão POP3 também.
Comando ou resposta | O que significa | |
Servidor: | O servidor está esperando pela conexão na porta TCP/IP 110. | |
Cliente: | O cliente estabelece uma conexão TCP. | |
Servidor: | +OK POP3 server ready <exemplo.servidor.com> | Se tudo estiver OK, a resposta do servidor será consistente. Caso contrário, mostrará -ERR |
Cliente: | APOP mrose c4c9334bac560ecc979e58001b3e22fb | Fornece identificação de origem e proteção contra repetição para a sessão. mrose é o parâmetro de nome e c4c9334bac560ecc979e58001b3e22fb é o parâmetro de resumo. Eles identificam uma caixa de correio e uma string de resumo MD5. |
Servidor: | +OK | Se tudo estiver OK, a resposta do servidor será consistente. Caso contrário, mostrará -ERR |
Cliente: | STAT | Agora, a sessão entra no estado de TRANSAÇÃO. O comando STAT pergunta quantas mensagens estão atualmente na caixa de correio e seu tamanho em octetos. |
Servidor: | +OK 1 334 | Maildrop tem uma mensagem de 334 octetos. |
Cliente: | DELE 1 | Exclui a mensagem |
Servidor: | +OK mensagem 1 excluída | Se tudo estiver OK, a resposta do servidor será consistente. Caso contrário, mostrará -ERR |
Cliente: | QUIT | Uma vez que a sessão termina, o cliente se desconecta via comando QUIT. |
Servidor: | +OK dewey POP3 server signing off (maildrop empty) | Se tudo estiver OK, a resposta do servidor será consistente. Caso contrário, mostrará -ERR |
Cliente: | O cliente fecha a conexão TCP. | |
Servidor: | O servidor está esperando pela conexão na porta TCP 110 |
Usamos apenas dois comandos (DELE e STAT) que são válidos no estado de TRANSAÇÃO. Você pode encontrar mais opções aqui.
Quanto às respostas do POP3, elas contêm um indicador de status (+OK ou -ERR) e uma palavra-chave que pode ser aprimorada com informações adicionais (por exemplo, -ERR no such message, only 2 messages in maildrop).
Portas POP3
- 110 – Uma porta POP3 padrão sem criptografia
- 995 – Uma porta SSL/TLS segura que é frequentemente referida como POP3S.
IMAP ou POP3 – qual protocolo devo escolher?
A princípio, consideramos fazer uma tabela com uma comparação dos prós e contras do IMAP e POP3. Mas essa ideia se mostrou inviável, pois diferentes usuários teriam demandas diferentes em termos dos padrões de protocolo de email. Então, decidimos configurá-la dessa maneira.
Escolha IMAP4 se:
- você precisa acessar emails de diferentes dispositivos
- você precisa organizar seus emails em pastas ou algum tipo de hierarquia
- você tem espaço de armazenamento ilimitado no servidor
- você tem uma conexão constante e estável à Internet
- você precisa de acesso rápido aos seus emails
Escolha POP3 se:
- sua conexão à Internet é instável ou mesmo indisponível
- você prioriza a privacidade sobre a acessibilidade e prefere armazenar emails na máquina local
- você é a única pessoa com acesso à sua conta de email e usa um único dispositivo para esse fim
Se você ainda não sabe qual protocolo escolher, confira nosso artigo sobre as diferenças principais entre IMAP e POP3 ou assista a este vídeo:
E quanto ao HTTP?
O HyperText Transfer Protocol (HTTP) é outra opção para acessar emails, mas não é um protocolo de email. Independentemente disso, o HTTP pode ser usado para enviar e receber mensagens de webmail, como Gmail.com. Também é uma boa prática acessar emails em aplicativos móveis através do HTTP.
Este protocolo tem duas portas padrão: 80 para conexões não criptografadas e 443 para conexões seguras.
Como um email chega de um remetente a um destinatário
Agora, você sabe para que serve cada protocolo de email. Vamos mapear uma imagem completa de como uma mensagem eletrônica pode chegar de um remetente (bruce@remetente.com) a um destinatário (jane@destinatario.com).
- O cliente de email do remetente conecta-se ao servidor SMTP (por exemplo, smtp.gmail.com).
- O servidor SMTP autentica o endereço de email do destinatário usando registros DNS (para mais informações sobre autenticação de email, leia nossos posts no blog sobre SPF, DKIM, DMARC e registros BIMI ou assista a vídeos em nosso canal do YouTube).
- Uma vez que o servidor SMTP do Gmail autoriza o destinatário, ele envia o email para o servidor SMTP de destinatario.com.
- O servidor SMTP de destinatario.com verifica se jane@destinatario.com é válido.
- O servidor SMTP encaminha o email para o servidor IMAP/POP3.
É suficiente configurar protocolos de email para enviar e receber emails com sucesso?
A resposta curta é não. Embora a configuração adequada dos protocolos de email seja essencial, eles certamente não são suficientes. Você precisa de uma infraestrutura de email segura com ferramentas de entrega integradas para alcançar as caixas de entrada dos destinatários.
Para saber mais sobre o que é uma infraestrutura de email, confira nosso vídeo dedicado:
Junto com uma infraestrutura de email, você também pode precisar de uma caixa de entrada virtual para receber todos os seus emails de teste.
Mailtrap é uma plataforma única que cuida de todas as suas necessidades relacionadas ao email. Teste seus emails usando um servidor SMTP falso fornecido pelo Email Testing, envie seus emails com o servidor SMTP confiável do Email API/SMTP e monitore o desempenho de sua infraestrutura. Tudo isso dentro de uma única Plataforma de Email Delivery do Mailtrap.
O Email Testing é um Email Sandbox que captura todo o seu tráfego SMTP. Você pode usá-lo para verificar a funcionalidade de envio de emails do seu aplicativo e ver se o servidor SMTP está configurado corretamente. Com os recursos de Verificação de HTML e Análise de Spam do Email Testing, você resolverá problemas de entrega antes que seu aplicativo entre em ambiente de produção.
Uma vez que você termine de testar, pode configurar seu aplicativo para usar o servidor SMTP do Email API/SMTP que entrega seus emails nas caixas de entrada em segundos. Alternativamente, integre o Mailtrap com API para mais flexibilidade. Qualquer que seja o método escolhido, você terá acesso às capacidades únicas de monitoramento do Email API/SMTP – análises acionáveis com relatórios detalhados e painéis de visão geral.
Aqui está como o fluxo de entrega de emails se parecerá se você usar o Email API/SMTP ou o Email Testing do Mailtrap:
- O cliente de email do remetente conecta-se ao servidor SMTP real ou falso (live.smtp.mailtrap.io e sandbox.smtp.mailtrap.io, respectivamente). O Mailtrap fornece todas as credenciais necessárias, como porta, nome de usuário, senha e método de autenticação.
- Se você estiver usando o Email Testing, o servidor SMTP falso enviará um email para o servidor POP3 (pop3.mailtrap.io).
- Você verá sua mensagem em sua caixa de entrada Demo se seu aplicativo estiver funcionando corretamente.
- Se você estiver usando o Email API/SMTP, os emails serão direcionados aos servidores POP3 ou IMAP dos destinatários.
- Em questão de segundos, eles aparecerão nas caixas de entrada dos seus destinatários.
Para mais informações sobre como integrar e usar o Mailtrap, consulte nosso guia de introdução.
Esperamos que nosso post no blog sobre IMAP vs POP3 vs SMTP tenha ajudado a esclarecer o mundo complicado dos emails!