Email

O que é SMTP e como ele difere do IMAP?

SMTP é o protocolo que envia e retransmite e-mails; IMAP recupera e sincroniza mensagens de uma caixa de correio.

Um fluxo de e-mail tem uma etapa de envio e uma etapa de caixa de correio. SMTP cuida da primeira; IMAP cuida da segunda.

O que o SMTP faz?

SMTP envia e retransmite e-mails. Sua aplicação ou cliente de e-mail abre uma conexão com um servidor SMTP, envia o remetente, os destinatários e a mensagem, e recebe uma resposta após cada comando. Um relay pode então atuar como cliente SMTP e passar a mensagem para o próximo servidor.

O protocolo não decide como uma caixa de correio é exibida nem quais mensagens o usuário já leu. Sua função é a transmissão e a transferência de responsabilidade entre servidores.

O que o IMAP faz?

IMAP recupera mensagens de uma caixa de correio e sincroniza o estado dela. Um celular e um notebook podem exibir as mesmas pastas, marcadores e estado de leitura porque ambos trabalham com a cópia no servidor.

IMAP não submete uma nova mensagem para entrega. Um cliente pode usar SMTP para enviar uma resposta e depois usar IMAP para ler a conversa na caixa de correio.

Como SMTP e IMAP se comparam?

PerguntaSMTPIMAP
Função principalEnviar e retransmitir e-mailsRecuperar e sincronizar dados da caixa de correio
DireçãoSaída em direção a um servidor de e-mail ou relayEntre um servidor de caixa de correio e um cliente
Estado no servidorO servidor pode enfileirar uma mensagem até a próxima transferência; SMTP não define a caixa de correio do usuárioO servidor mantém a cópia da caixa de correio, pastas e estado das mensagens
Cliente típicoAplicação de envio ou cliente de e-mailCliente de e-mail lendo uma caixa de entrada
Portas comuns587 para submissão, 465 para TLS implícito, 25 para retransmissão entre servidores143 para conexão simples ou STARTTLS, 993 para TLS implícito
Uso em um appEnviar recibos, alertas e outras mensagensLer ou processar uma caixa de correio existente

A diferença de estado no servidor determina a escolha do protocolo. SMTP pode enfileirar uma mensagem durante a entrega, mas não é um armazenamento de caixa de correio. IMAP é construído em torno de uma caixa de correio no servidor que os clientes revisitam e sincronizam.

Como uma conversa SMTP pode diagnosticar uma falha?

Capture o comando e a resposta que o segue. SMTP é uma conversa passo a passo: o cliente envia EHLO, MAIL FROM, RCPT TO e DATA, e o servidor responde a cada etapa. O comando que falhou restringe o problema à configuração da conexão, aceitação do remetente, aceitação do destinatário ou dados da mensagem.

Por exemplo, esta troca curta chega ao corpo da mensagem:

S: 220 mail.example ESMTP ready
C: EHLO app.example
S: 250-mail.example
C: MAIL FROM:<sender@example>
S: 250 2.1.0 OK
C: RCPT TO:<recipient@example>
S: 550 5.1.1 user unknown

O 550 chegou após RCPT TO, então o servidor rejeitou o endereço do destinatário. Isso não é evidência de que a conexão de rede ou a identidade do remetente falhou. Uma resposta 4xx na mesma etapa indicaria uma política de nova tentativa em vez de uma falha permanente imediata.

A RFC 5321 define o formato de resposta e torna o código numérico a parte legível por máquina:

An SMTP reply consists of a three digit number (transmitted as three numeric characters) followed by some text unless specified otherwise in this document. The number is for use by automata to determine what state to enter next; the text is for the human user.

Use o primeiro dígito como o primeiro critério de diagnóstico:

Classe do códigoSignificadoPróximo passo
2xxO comando foi concluídoContinue a transação
3xxO servidor aceitou o comando e precisa de mais dadosEnvie a próxima parte, como o corpo da mensagem após DATA
4xxFalha temporáriaMantenha a responsabilidade pela mensagem e tente novamente após a condição do servidor ter sido possivelmente resolvida
5xxFalha permanente para essa solicitaçãoCorrija o endereço, as credenciais ou a mensagem antes de tentar novamente

Leia o comando e o código juntos. Um 535 após autenticação aponta para credenciais ou política de autenticação. Um 552 após DATA aponta para um limite de tamanho. Um 421 durante o tratamento de conexão aponta para um limite temporário de servidor ou de conexões.

Qual protocolo minha aplicação precisa?

Use SMTP quando a aplicação envia e-mails. Use IMAP quando ela lê e sincroniza uma caixa de correio existente. Uma aplicação que precisa de processamento de entrada também pode usar um API de e-mail de entrada, que entrega mensagens já processadas sem exigir polling de caixa de correio.

Para e-mails de saída, escolha entre um relay SMTP e um HTTP de e-mail API. SMTP é adequado para bibliotecas e sistemas que já falam o protocolo. Um HTTP API é adequado para ambientes onde abrir e gerenciar conexões SMTP é inconveniente.

Como Bird ajuda no envio via SMTP?

Para enviar através de Bird, defina o host de relay para a região da sua chave, escolha a porta 465, 587 ou 2525 e autentique com o nome de usuário bird mais sua chave API. O guia de retransmissão SMTP fornece os limites de conexão e o tratamento de códigos de resposta para uma transferência que falhou.

Posso usar IMAP para enviar e-mail?

Não. IMAP recupera e sincroniza dados da caixa de correio. O envio requer SMTP ou um HTTP de e-mail API.

Qual é a diferença entre IMAP e POP3?

Ambos recuperam e-mails, mas IMAP mantém a caixa de correio no servidor e sincroniza o estado entre clientes. O POP3 tradicionalmente baixa as mensagens para um único cliente, portanto não fornece o mesmo estado compartilhado de caixa de correio.

Qual porta SMTP devo usar?

Use 587 para submissão autenticada com STARTTLS ou 465 para uma conexão com criptografia implícita quando seu cliente espera isso. A porta 25 é para retransmissão entre servidores e costuma ser bloqueada para uso direto por clientes. Qual porta SMTP devo usar? compara as portas e suas funções.

Em resumo

  1. SMTP envia e retransmite e-mails.

    Ele move uma mensagem de um cliente ou aplicação para o próximo servidor de e-mail e, em seguida, por saltos de retransmissão até o destinatário.

  2. IMAP recupera e sincroniza uma caixa de correio.

    Ele permite que clientes leiam mensagens e mantenham pastas, marcadores e estado de leitura alinhados com o servidor.

  3. Códigos de resposta indicam o que fazer em seguida.

    Um código 2xx concluiu o comando, um código 4xx é temporário e um código 5xx exige uma correção antes de tentar novamente.

  4. O guia de retransmissão SMTP da Bird cobre a configuração de envio.

    Use-o para o host, portas, fluxo de autenticação e detalhes de solução de problemas específicos de SMTP.

Construa na mesma rede.

Uma chave de API de teste é sua imediatamente. A produção é desbloqueada quando adicionar um método de pagamento e verificar um remetente.

Sua próxima ideia.
Pronta para conectar.