O seu IP: Sem dados · O seu estado: ProtegidoDesprotegidoSem dados

Avançar para o conteúdo principal

O que é o SMTP e como funciona?

Costuma enviar e receber e-mails? Esta tecnologia tão essencial como corriqueira do nosso quotidiano funciona graças ao SMTP, o protocolo na base de todas as comunicações por correio eletrónico. Neste artigo explicaremos o que é o SMTP, o que significa e como funciona.

O que é o SMTP e como funciona?

O que é o SMTP?

O SMTP (“Simple Mail Transfer Protocol”, ou Protocolo de Transferência de Correio Simples) é um protocolo TCP/IP para o envio de correio eletrónico (e-mail) entre computadores e/ou redes informáticas. O STMP cria uma linguagem comum que permite o envio de mensagens independentemente do software e hardware de cada uma das máquinas envolvidas. Assemelha-se ao formato padrão do envio de correio (envelope fechado, morada do destinatário, etc.) que permite a sua distribuição independentemente das moradas de envio e receção, da natureza da caixa de correio, do serviço do carteiro, etc. Não surpreende que uma resposta alternativa à pergunta o que significa SMTP seja o acrónimo “Sending Mail To People” (enviar correio a pessoas).

É importante a questão do envio, e não da receção, pois aqui reside uma diferença fundamental entre o que é o SMTP e o serviço de correio físico e tradicional. O SMTP é um protocolo para envio de correio eletrónico, e não para a respetiva receção. Se quisermos ser mais precisos nesta comparação, o servidor SMTP trata da tarefa de colocar o correio na caixa de correio do destinatário. Mas a ação de abrir a caixa e tirar de lá correio já não compete ao carteiro – tal como não compete ao servidor SMTP nem cabe na natureza deste protocolo.

Como funciona o SMTP?

O funcionamento é muito simples, e pode resumir-se nos seguintes passos:

  • Tudo começa no “Mail User Agent” (MUA, ou agente do utilizador de e-mail), o programa ou aplicação utilizado para enviar e receber e-mails (que pode ser um software instalado, como o Microsoft Outlook, ou um programa na cloud como o Gmail). Este programa, o cliente SMTP, liga-se ao servidor SMTP do seu domínio (Agente de Transferência de Mail ou MTA), através do chamado “handshake” ou “aperto de mão”, através do qual as máquinas se identificam.
  • A sessão SMTP começa quando a conexão é estabelecida. O cliente SMTP envia toda a informação necessária (endereço de envio e destino, conteúdo da mensagem, anexos, etc.).
  • O servidor SMTP verifica se os domínios do emissor e do recetor/destinatário são os mesmos.
    • Se sim, o e-mail é enviado imediatamente para o servidor de receção do destinatário.
    • Se não, o servidor SMTP pede a um servidor DNS que indique o endereço de IP do servidor de e-mail do recetor. Quando tiver esta informação, o servidor SMTP liga-se ao seu homólogo do recetor, o Mail Delivery Agent (MDA, ou agente de entrega de e-mail).
  • Se o servidor SMTP do recetor estiver indisponível, a mensagem é colocada numa fila de espera ou enviada para um servidor de recurso.
  • Quando receber a mensagem, o servidor SMTP do recetor verifica o nome de domínio e o nome de utilizador do mesmo. Se estiver correto, envia a mensagem para o servidor de receção de e-mail correspondente.
Enviar uma mensagem com SMTP

Aqui fica mais claro que o protocolo SMTP funciona apenas para o envio de correio, e não para a sua receção. A comunicação na parte final, quando a mensagem já se encontra “do lado” do recetor mas ainda tem de fazer o caminho entre o servidor e o programa de correio de quem vai receber o e-mail, é feita com outros protocolos, que abordaremos abaixo com mais detalhe.

Esta explicação ajuda a esclarecer também porque pode ser mais fácil enviar correio dentro da mesma rede, ou dentro de endereços de e-mail com o mesmo nome de domínio (i.e., a mesma terminação). Mais uma vez a comparação com o correio físico é útil. Um carta colocada num marco de correio gerido pela mesma estação de correios da área de entrega (supondo que se envia uma carta dentro da mesma cidade) é entregue muito mais rapidamente, pois não precisa de viajar entre estações e/ou entidades diferentes.

Tipos de SMTP

A literatura especializada distingue diferentes funções e naturezas, mas se nos cingirmos à especificação RFC 5321, existem quatro tipos de SMTP:

  • SMTP original: o primeiro a interagir com a internet, enviando o e-mail;
  • SMPT de entrega: o sistema que recebe os e-mails e os entrega ao destinatário (mais precisamente, ao servidor que se irá comunicar com o destinatário através de um protocolo diferente, como veremos adiante);
  • SMTP Relay, que faz a retransmissão entre servidores MTA sem alterar a mensagem;
  • SMTP Gateway, que faz a retransmissão e altera a mensagem, se for necessário. Normalmente trata-se de uma firewall que reescreve o endereço, como se fosse um router que redireciona uma mensagem para um ponto específico de uma rede.

O que são os comandos SMTP?

Os comandos SMTP são instruções em texto que as partes envolvidas no envio de e-mail usam para comunicar do que se trata e o que se deve fazer em seguida. Vejamos os principais exemplos:

HELO: este comando, num trocadilho com a palavra inglesa “hello”, significa literalmente um olá. O cliente de e-mail apresenta-se ao servidor SMTP para que seja estabelecida uma conexão. Este comando tem vindo a ser substituído pelo semelhante EHLO, usado pelo protocolo ESMTP (Extended Simple Message TransferProtocol).

MAIL FROM: o comando inicia a transferência do e-mail e indica o endereço de e-mail do emissor. Nalgumas situações, esta informação pode ficar em branco; por exemplo, quando um sistema automático responde a alguém sobre um erro no envio de uma mensagem, não sendo possível ao emissor responder (por sua vez) a esse e-mail.

RCPT TO: este comando indica o endereço de envio da mensagem. Se existir mais do que um recetor, o comando será usado tantas vezes quantos os recetores envolvidos.

DATA: trata-se de um pedido de autorização ao servidor para enviar o conteúdo da mensagem. Se o cliente de e-mail receber uma autorização positiva (código 254), começará o envio, linha a linha, até colocar um ponto final na última linha para indicar que a transferência de dados terminou.

HELP: é um pedido ao servidor SMTP para que responda indicando quais os comandos que consegue executar, isto é, quais as funções ou tarefas que consegue fazer.

RSET: é um reiniciar (“reset”), que limpa toda a informação (tabelas, “buffers”, etc.) mas não corta a comunicação estabelecida entre máquinas através do comando HELO. Começar uma nova transferência de mensagem pode ser a forma mais fácil de eliminar erros.

QUIT: indica ao servidor SMTP para terminar a sessão, sendo que primeiro o servidor deverá responder com o código 221 para indicar que vai terminar.

O que são os fornecedores de serviços SMTP

Os seus programas de correio eletrónico estão configurados para usar determinados servidores SMTP, mas o utilizador não está obrigado a essa configuração. É possível escolher outro fornecedor de serviço SMTP ou até configurar o seu próprio servidor, para maior segurança e personalização. Algumas empresas tendem a seguir este caminho.

Imagine que o SMTP Gmail está com algum problema e que os e-mails estão a chegar e a sair com dificuldade. Poderá configurar um outro servidor SMTP para resolver o problema, enquanto a Google resolve pelo seu lado. O mesmo é válido para o STMP Outlook, utilizado também por milhões de pessoas.

Portas SMTP

Em informática (mais especificamente, na área de redes), uma porta é um ponto virtual, representado por um número, para o qual são encaminhados dados relativos a um determinado serviço, função ou tarefa. Não se deve confundir com o conceito de porta na área de hardware, que são conexões físicas (por exemplo, uma entrada USB).

Eis as portas SMTP:

  • Porta 25 (historicamente usada, hoje em gradual desuso)
  • Porta 465 (desenhada para uso com encriptação SSL, está também a cair em desuso)
  • Porta 587 (padrão atual para envio de e-mails, com encriptação TLS)
  • Porta 2525 (usada por alguns serviços de e-mail caso as restantes estejam bloqueadas)

Quais as diferenças entre o SMTP, o POP3 e o IMAP

Certamente já encontrou referências a estas siglas, especialmente se já pensou em configurar o SMTP no Outlook. A grande diferença é que o IMAP e o POP3 são protocolos para receber correio eletrónico, enquanto o SMTP é para envio. Abordemos com mais detalhe:

Usando IMAP, o cliente de e-mail começa por retirar apenas os dados referentes à informação do emissor, datas e assunto, conservando estes dados na sua cache local, para preservar largura de banda. O resto do conteúdo (a mensagem propriamente dita) só é descarregada quando o recetor clica para abrir o e-mail. Como o IMAP não apaga os e-mails do servidor depois da entrega, o utilizador pode aceder a partir de vários dispositivos. E tem a garantia de que o “status” das mensagens é igual em todos, mesmo que haja “replies” ou alterações.

O protocolo POP descarrega os e-mails pendentes (anexos incluídos) para o servidor de e-mail do seu dispositivo e apaga as cópias. A grande vantagem é que os e-mails podem ser lidos mesmo que não tenha acesso à internet. Porém, não poderá lê-los a partir de outros dispositivos – terá de transferi-los manualmente se quiser fazê-lo.

É de salientar que todos estes três protocolos são do tipo TCP, ou seja, são desenhados para garantir a verificação e a minimização de erros, ao contrário do que acontece nos protocolos UDP em que a velocidade é a prioridade (abordamos este assunto com mais detalhe no nosso artigo TCP vs UDP). Na prática, para que um e-mail seja enviado, por exemplo, a partir do Gmail, será necessária a execução do protocolo num servidor SMTP Gmail para o envio, e posteriormente a execução de um protocolo de receção, como o POP3 ou o IMAP, para que o recetor possa efetivamente receber o e-mail.

Existem ameaças à segurança do SMTP?

O servidor SMTP será sempre um alvo para hackers e cibercriminosos, no sentido em que por ali passam os e-mails (leia-se comunicações, atividades e listas de endereços de envio) das pessoas.

Algumas das principais ameaças incluem:

  • Acesso não autorizado ao conteúdo dos e-mails;
  • Vazamento e roubo de dados;
  • Envio de spam, manobras de phishing e até malware para os contactos identificados;
  • Lançamento de ataques DDoS a partir do servidor.

Nem sempre é fácil saber como identificar um scammer, e os ciberataques estão cada vez mais sofisticados e insidiosos. É fundamental respeitar um conjunto de regras básicas para se proteger.

Deixamos em seguida algumas:

  • Nunca envie e-mails sem uma proteção TLS ou SSL, pois as probabilidades de o conteúdo da mensagem e até a password do seu e-mail serem intercetadas por estranhos aumentam imenso;
  • Utilize passwords complexas, mude-as periodicamente e nunca use a mesma password em serviços diferentes;
  • Tenha muita atenção aos endereços de origem dos e-mails que recebe, e desconfie sempre que uma mensagem lhe parecer suspeita. Entre o spoofing e as melhorias na qualidade do texto, os ataques de phishing estão cada vez mais convincentes;
  • Use uma VPN no seu dia-a-dia, criando uma camada de encriptação que torna quase impossível a hackers decifrar o conteúdo das mensagens que envia e recebe, bem como os sites que visita, etc.

Deixamos ainda um convite para espreitar o nosso artigo com nada menos que 28 dicas para aumentar a sua segurança, da sua família, da sua empresa e redes informáticas.

A segurança online começa com um clique.

Fique em segurança com a principal VPN do mundo