Vamos estudar o serviço de Correio Eletrônico utilizando o Apache James Server, um rico conjunto de módulos e bibliotecas escritos em Java, que permite à você construir um servidor avançado de correio.
Deixo claro que esta aula prática é destinada à disciplina de Redes, quando você está estudando a camada de aplicação, e obviamente, aos interessados que gostariam de adquirir conhecimento.
Primeiramente, vamos instalá-lo, e utilizaremos o Telnet (Protocolo de Terminal Virtual) para utilizar os serviços de correio eletrônico do James Server.
O Telnet é um protocolo que permite acesso remoto entre computadores, podendo utilizar os mais diversos protocolos e serviços da camada de aplicação. No Linux, tem a implementação do Telnet, que é o que nós iremos utilizar. Existem vários aplicativos que implementam o protocolo, tais como Putty, Jtelnet, ShellTelnet, entre outros.
Então vamos lá.
Para instalar o James Server. Baixe aqui.
Extraia o arquivo em uma pasta qualquer.
Para inicializar o servidor, entre na pasta /bin.
Execute como root: ./james start
Pronto. O servidor está instalado localmente e as portas 25 (Protocolo SMPT) e 110 (Protocolo POP3) estão alocadas ao seu servidor.
Por padrão o servidor SMTP cria um email no seguinte formato:
nomeDaSuaMaquina@localhost
Para fazer os testes com o telnet, é necessário que você crie um usuário, porque uma vez instalado o servidor, ele não tem usuários locais registrados.
Para registrar um usuário local, abra o terminal. Logue como root.
Digite: telnet localhost 4555.
Digite help, e você verá o comando para criar novos usuários. É o passo 5 do tutorial de instalação do James Server.
Agora sim o JamesServer está pronto para uso.
Vamos enviar e receber um e-mail, para ver como funciona.
1 - Enviar uma mensagem ao servidor de correio utilizando SMTP
Para esta atividade não há necessidade do agente de usuário.
telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 127.0.1.1 SMTP Server (JAMES SMTP Server 3.0-M1) ready Tue, 26 Jul 2011 11:20:25 -0300 (BRT)
HELO remetente.dominio
250 127.0.1.1 Hello remetente.dominio (localhost [127.0.0.1])
mail from: \<remetente@remetente.dominio\>
250 2.1.0 Sender OK
rcpt to: \<carine@localhost\>
250 2.1.5 Recipient OK
data
354 Ok Send data ending with.
Enviando mensagem de teste.
.
250 2.6.0 Message received
quit
Os comandos SMTP HELO, mail from, rcpt to e data são autoexplicativos.
No comando rcpt to você deve colocar o nome de usuário que você criou.
Pronto! Enviou uma mensagem utilizando o protocolo SMTP.
2 - Ler mensagens do servidor de correio utilizando o POP3
telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK 127.0.1.1 POP3 server (JAMES POP3 Server ) ready
user carine
+OK
pass carine
+OK Welcome carine
list
+OK 2 617
1 265
2 352
.
retr 2
+OK Message follows
Return-Path:
Received: from localhost ([127.0.0.1])
by 127.0.1.1 (JAMES SMTP Server ) with SMTP ID 14
for;
Mon, 25 Jul 2011 15:50:21 -0300 (BRT)
Ola. Mandando segunda mensagem.
Varios testes com o James.
O James esta a servico da Carine.
Sem caracteres especiais.
.
quit
Pronto. É possível ler todos os e-mails.
3 - Acessar servidores de correios que utilizam SSL
Os servidores de correio eletrônico Google e Hotmail utilizam criptografia via SSL. Por isso, não dá para usar o telnet para verificar Gmail e Hotmail. Para acessá-los, você deve instalar o OpenSSL em seu computador.
Utilize o OpenSSL para abrir uma conexão segura (TCP + SSL) e usar o protocolo POP para ler as mensagens, normalmente, do seu servidor de correio.
openssl s_client -crlf -connect pop.gmail.com:995
openssl s_client -crlf -connect pop3.live.com:995
Para fazer login e ler os e-mails, utilize os mesmos comandos acima: user, pass, list, retr.
Eu e Thiago fizemos o tutorial.
Espero que seja útil.
Grande abraço,
Carine
Deixo claro que esta aula prática é destinada à disciplina de Redes, quando você está estudando a camada de aplicação, e obviamente, aos interessados que gostariam de adquirir conhecimento.
Primeiramente, vamos instalá-lo, e utilizaremos o Telnet (Protocolo de Terminal Virtual) para utilizar os serviços de correio eletrônico do James Server.
O Telnet é um protocolo que permite acesso remoto entre computadores, podendo utilizar os mais diversos protocolos e serviços da camada de aplicação. No Linux, tem a implementação do Telnet, que é o que nós iremos utilizar. Existem vários aplicativos que implementam o protocolo, tais como Putty, Jtelnet, ShellTelnet, entre outros.
Então vamos lá.
Para instalar o James Server. Baixe aqui.
Extraia o arquivo em uma pasta qualquer.
Para inicializar o servidor, entre na pasta /bin.
Execute como root: ./james start
Pronto. O servidor está instalado localmente e as portas 25 (Protocolo SMPT) e 110 (Protocolo POP3) estão alocadas ao seu servidor.
Por padrão o servidor SMTP cria um email no seguinte formato:
nomeDaSuaMaquina@localhost
Para fazer os testes com o telnet, é necessário que você crie um usuário, porque uma vez instalado o servidor, ele não tem usuários locais registrados.
Para registrar um usuário local, abra o terminal. Logue como root.
Digite: telnet localhost 4555.
Digite help, e você verá o comando para criar novos usuários. É o passo 5 do tutorial de instalação do James Server.
Agora sim o JamesServer está pronto para uso.
Vamos enviar e receber um e-mail, para ver como funciona.
1 - Enviar uma mensagem ao servidor de correio utilizando SMTP
Para esta atividade não há necessidade do agente de usuário.
telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 127.0.1.1 SMTP Server (JAMES SMTP Server 3.0-M1) ready Tue, 26 Jul 2011 11:20:25 -0300 (BRT)
HELO remetente.dominio
250 127.0.1.1 Hello remetente.dominio (localhost [127.0.0.1])
mail from: \<remetente@remetente.dominio\>
data
354 Ok Send data ending with
Enviando mensagem de teste.
.
250 2.6.0 Message received
quit
Os comandos SMTP HELO, mail from, rcpt to e data são autoexplicativos.
No comando rcpt to você deve colocar o nome de usuário que você criou.
Pronto! Enviou uma mensagem utilizando o protocolo SMTP.
2 - Ler mensagens do servidor de correio utilizando o POP3
telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK 127.0.1.1 POP3 server (JAMES POP3 Server ) ready
user carine
+OK
pass carine
+OK Welcome carine
list
+OK 2 617
1 265
2 352
.
retr 2
+OK Message follows
Return-Path:
Received: from localhost ([127.0.0.1])
by 127.0.1.1 (JAMES SMTP Server ) with SMTP ID 14
for
Mon, 25 Jul 2011 15:50:21 -0300 (BRT)
Ola. Mandando segunda mensagem.
Varios testes com o James.
O James esta a servico da Carine.
Sem caracteres especiais.
.
quit
Os servidores de correio eletrônico Google e Hotmail utilizam criptografia via SSL. Por isso, não dá para usar o telnet para verificar Gmail e Hotmail. Para acessá-los, você deve instalar o OpenSSL em seu computador.
Utilize o OpenSSL para abrir uma conexão segura (TCP + SSL) e usar o protocolo POP para ler as mensagens, normalmente, do seu servidor de correio.
openssl s_client -crlf -connect pop.gmail.com:995
openssl s_client -crlf -connect pop3.live.com:995
Para fazer login e ler os e-mails, utilize os mesmos comandos acima: user, pass, list, retr.
Grande abraço,
Carine
Este comentário foi removido por um administrador do blog.
ResponderExcluir