Protocolo de Transferência de Correio Simples (doinglês:Simple Mail Transfer Protocol, abreviadoSMTP) é oprotocolo padrão de envio demensagens de correio eletrônico através daInternet entre dois dispositivos computacionais (emissor e receptor), definido naRFC 821.
É um protocolo simples, emtexto plano, de somente de envio (semelhante a um carteiro), onde um ou vários destinatários de uma mensagem são especificados (e, na maioria dos casos, validados) sendo, depois, a mensagem transferida, por padrão viaportaTCP 25 (ou 465 para conexão criptografada comSSL), podendo usar a porta alternativa 587.[1]
O SMTP por ter a função somente de envio, isto é, não permite que um usuário descarregue/solicite as mensagens de um servidor. Assim para a leitura é necessário o uso de umsoftwarecliente dee-mail com suporte aoprotocolo de leituraPOP ouIMAP.
A gestão de nomesDNS de um servidor SMTP de um certo domínio, é possibilitada por sua entradaMX (Mail eXchange), que aponta para os servidores determinados que deverão receber as mensagens de e-mail.
A utilização em massa do SMTP remonta aosanos 1980. Na altura, era um complemento aoUUCP, que era mais adequado para transferências decorreio 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.
OSendmail 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 doMac OS ou doiOS para dispositivos móveis da Apple.
Dada a especificação inicial, que contemplava apenas textoASCII, este protocolo não é ideal para a transferência dearquivos (também chamados deficheiros). Algunsstandards foram desenvolvidos para permitir a transferência de ficheiros em formato binário através de texto simples, como o caso doMIME. Hoje em dia, quase todos os servidores SMTP suportam a extensão8BITMIME.
Para testar um servidor SMTP, com relativa facilidade, pode-se utilizar o protocoloTelnet.
Uma das limitações da especificação SMTP inicial é que não existe método deautenticação dos emissores. Como tal, foi-lhe adicionada a extensãoSMTP-AUTH.
Apesar disso, ospamming 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. OInternet 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. OGrupo de Pesquisa Anti-Spam doInternet 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 protocoloSender Policy Framework.
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 comandotelnet 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 comandoEHLO (em oposição aoHELO ilustrado acima), e o corpo da mensagem (depois deDATA) segue tipicamente em formatoMIME.
O funcionamento de um servidor SMTP pode ser dividido em duas etapas. A primeira inclui a concessão de permissão para o processo e a verificação da configuração do computador por meio do qual um e-mail é enviado. Na segunda, ele envia a mensagem e segue a entrega bem-sucedida do e-mail. Se, por algum motivo, o e-mail não for entregue, ele será devolvido ao remetente.O servidor SMTP entende comandos simples de texto. Os mais comuns são:
- HELO: apresenta-se;
- EHLO: apresenta-se e solicita o modo estendido;
- RCPT TO: especifica o destinatário;
- MAIL FROM: especifica o remetente;
- DATA: especifica o corpo do e-mail.
Você pode verificar o servidor SMTP utilizado executando algumas etapas no prompt de comando do Windows.
- Pressione a tecla “Windows”;
- Digite “cmd” na caixa de pesquisa;
- Abra o aplicativo “Prompt de Comando” e digite um dos dois comandos a seguir: ping SMTP.mysite.com e ping mail.mysite.com;
- O nome do seu servidor SMTP será exibido logo após a palavra “Pinging”.
Conforme mencionado anteriormente, o servidor SMTP é usado para entregar e-mails transacionais e em massa de forma confiável e segura. Existem muitos provedores de serviço SMTP no mercado. Algumas das vantagens são:
- Ambiente seguro para envio de e-mails
- integração rápida e personalizavel de e-mail
- software amigável
- Analise em tempo real para controlar seus e-mails
Referências
- (em inglês)