Simple Mail Transfer Protocol
Pilha de protocolos TCP/IP |
---|
Camada de aplicação |
Camada de transporte |
Camada de rede |
Camada de enlace de dados |
Simple Mail Transfer Protocol (abreviado SMTP. Traduzido do inglês, significa "Protocolo de transferência de correio simples") é o protocolo padrão para envio de e-mails através da Internet, definido na RFC 821.
É um protocolo relativamente simples, em texto plano, onde um ou vários destinatários de uma mensagem são especificados (e, na maioria dos casos, validados) sendo, depois, a mensagem transferida. Esse protocolo usa por padrão a porta TCP 25 (ou 465 para conexão criptografada via SSL). No Brasil, porém, desde 2013, provedores e operadoras de internet passaram a utilizar a porta 587, como medida de segurança para diminuir o número de spams.[1]
O SMTP é um protocolo de envio apenas, o que significa que ele não permite que um usuário descarregue as mensagens de um servidor. Para isso, é necessário um cliente de e-mail com suporte ao protocolo POP3 ou IMAP, o que é o caso da maioria dos clientes atuais.
A resolução DNS de um servidor SMTP de um dado domínio é possibilitada por sua entrada MX (Mail eXchange).
História
A utilização em massa do SMTP remonta aos anos 1980. Na altura, era um complemento ao UUCP, que era mais adequado para transferências de correio eletrônico entre máquinas sem ligação permanente. Por outro lado, o desempenho do SMTP aumenta se as máquinas envolvidas, emissor e receptor, se encontrarem ligadas permanentemente.
O Sendmail foi um dos primeiros (se não o primeiro) agente de transporte de email a implementar SMTP. Em 2001, havia, pelo menos, cerca de 50 programas que implementavam SMTP como cliente (emissor) ou servidor (receptor). Outros servidores SMTP muito conhecidos são: exim, Postfix, Qmail, Microsoft Exchange Server e o Mail da Apple, disponível apenas para usuários do Mac OS ou do iOS para dispositivos móveis da Apple.
Dada a especificação inicial, que contemplava apenas texto ASCII, este protocolo não é ideal para a transferência de arquivos (também chamados de ficheiros). Alguns standards foram desenvolvidos para permitir a transferência de ficheiros em formato binário através de texto simples, como o caso do MIME. Hoje em dia, quase todos os servidores SMTP suportam a extensão 8BITMIME.
Para testar um servidor SMTP, com relativa facilidade, pode-se utilizar o protocolo Telnet.
Exemplo de uma sessão SMTP
Após o estabelecimento de uma conexão entre emissor (cliente) e receptor (servidor), o exemplo seguinte ilustra uma sessão SMTP. Na conversação seguinte, "C:" designa as mensagens do cliente, e "S:" as mensagens do servidor. Na maioria dos computadores, uma conexão pode ser estabelecida usando o comando telnet no emissor, por exemplo:
C: MAIL FROM:<Smith@Alpha.ARPA>
S: 250 OK
C: RCPT TO:<Jones@Beta.ARPA>
S: 250 OK
C: RCPT TO:<Green@Beta.ARPA>
S: 550 No such user here
C: RCPT TO:<Brown@Beta.ARPA>
S: 250 OK
C: DATA
S: 354 Start mail input; end with <CRLF>.<CRLF>
C: Blah blah blah...
C: ...etc. etc. etc.
C: <CRLF>.<CRLF>
S: 250 OK
Embora opcional, praticamente todos os clientes questionam o servidor sobre quais as extensões SMTP que este suporta, utilizando o comando EHLO (em oposição ao HELO ilustrado acima), e o corpo da mensagem (depois de DATA) segue tipicamente em formato MIME.
Segurança e spamming
Uma das limitações da especificação SMTP inicial é que não existe método de autenticação dos emissores. Como tal, foi-lhe adicionada a extensão SMTP-AUTH.
Apesar disso, o spamming continuava a ser um problema. Alterar o SMTP extensivamente ou substituí-lo completamente não se torna prático, devido à forte utilização do SMTP e aos efeitos que daí podiam advir. O Internet Mail 2000 é uma proposta nesse sentido.
É por essa razão que existem várias propostas para protocolos alternativos que iriam assistir a operação SMTP. O Grupo de Pesquisa Anti-Spam do Internet Research Task Force encontra-se a estudar várias propostas para se suportar a autenticação do emissor de uma forma flexível, leve e escalável. A proposta aparentemente mais sólida parece ser o protocolo Sender Policy Framework.
Ver também
Ligações externas
- RFC 2821 - The Simple Mail Transfer Protocol, que tornou obsoleto o RFC 821
- RFC 2822 - Internet (i.e. e-mail) Message Format, que tornou obsoleto o RFC 821
- RFC 1869 - Extensões do SMTP, originando o Extended SMTP
- RFC 1891 - Extensão ao SMTP para suportar Delivery Status Notification (DSN)
- ↑ NIC.br. «CGI.br - Comitê Gestor da Internet no Brasil». CGI.br - Comitê Gestor da Internet no Brasil. Consultado em 30 de agosto de 2015