segunda-feira, 21 de julho de 2008

Acendendo ao email via telnet

Para perceber melhor a dinâmica do processo que vou explicar a seguir, tomemos noção dos seguintes termos.

O que é um Protocolo
no contexto de redes de computadores?
O protocolo define as regras para a comunicação entre entidades pares da mesma camada, incluindo o
formato, significado, ordem e acções a realizar.

Protocolos envolvidos no correio electrónico:
User Agente->(SMTP)->Ser
vidor de e-mail do emissor->(SMTP)->Servidor de e-mail do destinatário->mailbox do destinatário->(POP,IMAP,HTTP)->User agent do destinatário.
Servidor de e-mail do emiss
or faz store-and-forward, aguardando a disponibilidade do servidor de destino.

SMTP
Simple mail transfer protocol, é o protocolo responsável pelo envio de uma mensagem, que sai do computador do usuário para o servidor.

POP
Post office protocol, é o pr
otocolo responsável pelo recebimento de uma mensagem, que sai do "mail box" do servidor para o computador do usuário.

Dada a introdução, passemos à segunda etapa, brincar com telnet. Todos nós já nos deparámos com dificuldades em aceder ao email. Ora, como saber se a dificuldade está do nosso lado? Tome-se por exemplo um endereço de email ...@clix.pt.

Vamos abrir a linha de comandos ou a consola.

Para verificar o servidor de SMTP, escreva "telnet mail.clix.pt 25". Deve
rá aparecer algo semelhante à linha que se segue: "220 mailfrt01.isp.novis.pt ESMTP".









Agora, im
agine que o seu IE ou firefox estão com problemas, e até está mesmo à espera de receber aquele email...

Abra a linha de comand
os e escreva: "telnet pop.clix.pt 110", deverá aparecer algo parecido com "+OK <11009.1216639244@mailfrt12.isp.novis.pt>"

Escreva:
user username (em que o username é o "..."@clix.pt)
pass password (em que a password é a sua senha de acesso ao email)



Repare que em cada co
mando dado ele responde com um OK. Se após introduzir a password e ter dado o enter ele respondeu afirmativamente, então encontra-se dentro da sua conta.




Agora pode dar os seg
uintes comandos:
stat - Indica o nº de mensagens na sua caixa de correio e tamanho (bytes).


list - Comando bastante útil, dá uma lista indexada (id) com os respectivos tamanhos (bytes).




top - Comando de eleição, que permite ver o header da mensagem, (e mais n linhas da mensagem, se n=0, apresenta apenas o header).




Outros comandos que se podem usar são:
retr - Ver a mensagem número .
dele - Marca para apagar a mensagem nº . (note que a mensagem só é apagada no fim da sessão de POP3.
quit - Para terminar a sessão de POP3.
Como pode ver é bastante simples e bastante útil em determinadas situações. Por exemplo num computador em que lhe seja negado o acesso via internet explorer, ou uma má configuração do seu outlook ou evolution.

Agora vamos ver como se pode enviar 1 email através do mesmo mecanismo.
Neste caso temos de ter em atenção o seguinte:

.O endereço do servidor de email deve ser capaz de responder para si, normalmente é fornecido pelo nosso isp.
.Ter um endereço de email válido.

Voltamos a estabelecer uma ligação mas desta vez escrevemos "telnet mail.vodafone.pt 25" (note que vodafone.pt é apenas o exemplo aqui usado!)

Deverá aparecer algo como:

Trying xxx.xxx.xxx.xxx...
Connected to mail.vodafone.pt.
Escape character is '^]'.
220 ihsmtp03mob.lis.interhost.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Mon, 21 Jul 2008 13:27:59 +0100


Agora é preciso declarar de onde mandamos o email (não se preocupem muito com isto...):

Helo HTUPC (local.domain.name)

resposta - 250 ihsmtp03mob.lis.interhost.com Hello [xxx.xxx.xxx.xxx]

Agora precisamos de dar o nosso endereço de email e o do destinatário, da seguinte forma:

MAIL FROM: htupc@clix.pt

resposta - 250 2.1.0 htupc@clix.pt....Sender OK

RCPT TO: htupc@vodafone.pt (note que este email é falso)

resposta - 250 2.1.5 htupc@vodafone.pt

Para começar a escrever a mensagem, dê o comando DATA e para terminar de escrever manda "." numa linha sozinho.

resposta - xxx.xxx.xxx.xxx Message accepted for delivery ou nosso caso xxx.xxx.xxx.xxx Queued mail for delivery pois o email é falso...

para terminar a conexão basta dar um QUIT.

resposta - xxx.xxx.xxx.xxx ihsmtp03mob.lis.interhost.com Service closing transmission channel Connection closed by foreign host.

Pode-se ainda colocar o subject conforme o RFC 882. A imagem a seguir mostra de forma simples todo o processo.















Por agora é tudo, podem ir testando o que se explicou aqui, e verificar que nem todos os servidores se comportam da mesma maneira. Reparem na forma como a ligação é fechada por parte do servidor quando tento dar seguimento ao processo. Segue a imagem.








Sem comentários: