DAS5331 - Sistemas Distribu´ıdos & Redes
Trabalho pr´
atico
Emerson Ribeiro de Mello
emerson@das.ufsc.br
Departamento de Automa¸
c˜
ao e Sistemas
Universidade Federal de Santa Catarina
Outubro de 2005
1
Obt´
em endere¸
co de e-mail do destinat´
ario
2Redige o e-mail e pressiona o bot˜
ao “enviar” ?
´
E preciso configurar a cliente de e-mail ?
I
Configurar servidores: POP3 e SMTP
Como enviar um e-mail ?
1
Obt´
em endere¸
co de e-mail do destinat´
ario
2Redige o e-mail e pressiona o bot˜
ao “enviar” ?
´
E preciso configurar a cliente de e-mail ?
I
Configurar servidores: POP3 e SMTP
MTA – Mail Transfer Agent
I
Localizado no lado do “servidor”
I
Utiliza o protocolo SMTP para comunicar com outros servidores
ISendmail, Postfix, Exim, Qmail
MUA – Mail User Agent
I
Localizado no lado do “cliente”
IUtiliza os protocolos:
F
POP e IMAP para recebimento de e-mails
I
Mutt, Thunderbird, Pine, MS Outlook Express
Envio e recebimento de e-mail
DESTINATÁRIO Servidor Local Servidor Remoto REMETENTEDNS
caixa postal dos usuários 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 11.
SMTP
DESTINATÁRIO Servidor Local Servidor Remoto REMETENTEDNS
caixa postal dos usuários 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1Envio e recebimento de e-mail
consulta nome 2. 1.SMTP
DESTINATÁRIO Servidor Local Servidor Remoto REMETENTEDNS
caixa postal dos usuários 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 13.
SMTP
consulta nome 2. 1.SMTP
DESTINATÁRIO Servidor Local Servidor Remoto REMETENTEDNS
caixa postal dos usuários 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1Envio e recebimento de e-mail
4.armazena
3.SMTP
consulta nome 2. 1.SMTP
DESTINATÁRIO Servidor Local Servidor Remoto REMETENTEDNS
caixa postal dos usuários 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 15.
POP
3.SMTP
consulta nome 2. 1.SMTP
DESTINATÁRIO Servidor Local Servidor Remoto REMETENTEDNS
caixa postal dos usuários 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1Envio e recebimento de e-mail
6.obtém
5.POP
3.SMTP
consulta nome 2. 1.SMTP
DESTINATÁRIO Servidor Local Servidor Remoto REMETENTEDNS
caixa postal dos usuários 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1SMTP POP SMTP POP NS Corba Servidor.java Servidor.java
Envio e recebimento de e-mail & Mundo CORBA
java Servidor origem java Servidor destino
SMTP POP SMTP POP NS Corba Servidor.java Servidor.java
bind(¨origemPOP¨) bind(¨origemSMTP¨)
java Servidor origem java Servidor destino
SMTP POP SMTP POP NS Corba Servidor.java Servidor.java
Envio e recebimento de e-mail & Mundo CORBA
bind(¨destinoPOP¨) bind(¨destinoSMTP¨) bind(¨origemPOP¨)
bind(¨origemSMTP¨)
java Servidor origem java Servidor destino
SMTP POP SMTP POP NS Corba Servidor.java Servidor.java
Cliente Cliente
java Cliente origem java Cliente destino
bind(¨destinoPOP¨) bind(¨destinoSMTP¨) bind(¨origemPOP¨)
bind(¨origemSMTP¨)
java Servidor origem java Servidor destino
SMTP POP SMTP POP NS Corba Servidor.java Servidor.java
Envio e recebimento de e-mail & Mundo CORBA
Para: fraga@destino
enviar(in mensagem) De: emerson@origem
Assunto: Trabalho pratico Corpo: O trabalho jah estah
pronto.
Cliente Cliente
java Cliente origem java Cliente destino
bind(¨destinoPOP¨) bind(¨destinoSMTP¨) bind(¨origemPOP¨)
bind(¨origemSMTP¨)
java Servidor origem java Servidor destino
SMTP POP SMTP POP NS Corba Servidor.java Servidor.java
resolve(¨ ¨)destinoSMTP Para: fraga@destino
enviar(in mensagem) De: emerson@origem
Assunto: Trabalho pratico Corpo: O trabalho jah estah
pronto.
Cliente Cliente
java Cliente origem java Cliente destino
bind(¨destinoPOP¨) bind(¨destinoSMTP¨) bind(¨origemPOP¨)
bind(¨origemSMTP¨)
java Servidor origem java Servidor destino
SMTP POP SMTP POP NS Corba Servidor.java Servidor.java
Envio e recebimento de e-mail & Mundo CORBA
enviarSMTP(in mensagem) resolve(¨ ¨)destinoSMTP Para: fraga@destino
enviar(in mensagem) De: emerson@origem
Assunto: Trabalho pratico Corpo: O trabalho jah estah
pronto.
Cliente Cliente
java Cliente origem java Cliente destino
bind(¨destinoPOP¨) bind(¨destinoSMTP¨) bind(¨origemPOP¨)
bind(¨origemSMTP¨)
java Servidor origem java Servidor destino
SMTP POP SMTP POP NS Corba Servidor.java Servidor.java
ler(in usuario, out caixaPostal) enviarSMTP(in mensagem)
resolve(¨ ¨)destinoSMTP Para: fraga@destino
enviar(in mensagem) De: emerson@origem
Assunto: Trabalho pratico Corpo: O trabalho jah estah
pronto.
Cliente Cliente
java Cliente origem java Cliente destino
bind(¨destinoPOP¨) bind(¨destinoSMTP¨) bind(¨origemPOP¨)
bind(¨origemSMTP¨)
java Servidor origem java Servidor destino
SMTP POP SMTP POP NS Corba Servidor.java Servidor.java
Especifica¸c˜
ao do trabalho
Implementar um Servidor de e-mail (Servidor.java)
I
Objeto SMTP dever´
a prover os seguintes m´
etodos
F
string enviar(in mensagem email);
F
string enviarSMTP(in mensagem email);
I
Objeto POP dever´
a prover os seguintes m´
etodos
F
void ler(in string usuario, out caixaPostal caixa);
Implementar um Cliente de e-mail (Cliente.java)
I
Deve prover um menu interativo que permita ler e escrever mensagens
eletrˆ
onicas
Cabe¸calho do e-mail
I
De:
IPara:
IAssunto:
Corpo do e-mail
I
A mensagem propriamente dita
ISomente caracteres ASCII
Requisitos para implementa¸c˜
ao
Linguagem de programa¸
c˜
ao: Java
ORB: JDK ou JacORB
Implementa¸
c˜
ao dever´
a ser feita em grupos compostos por 3 pessoas
Demonstra¸
c˜
ao dever´
a ser feita com a presen¸ca de TODOS os
participantes
http://www.das.ufsc.br/
∼
emerson/academico/estagio
Para d´
uvidas:
emerson@das.ufsc.br
1
1