Servizo de correo-e

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda

Introdución

O correo-e é un dos servizo máis usados en Internet. Para poder enviar e recibir correo-e úsanse diferentes protocolos. Para o envío úsase SMTP e para a recepción POP3 ou IMAP4.

O Simple Mail Transfer Protocol

Aplicacion12.jpg

Este protocolo está especificado no RFC 2821. O modelo de correo-e para o envío está formado por tres elementos principais:

  • Axente de correo de usuario ou MUA: é o cliente de correo e permite redactar, gardar, ler e enviar as mensaxes. i.e: Thunderbird, Eudora, Outlook, etc.
  • Servidores de correo : as mensaxes enviadas e recibidas almacénanse no servidor ao que tamén se lle chama MTA (Mail Transfer Agent). Os buzóns nos servidores conteñen as mensaxes enviadas aos usuarios. As colas de mensaxes conteñen as mensaxes que envían os usuarios (son as mensaxes que van ser enviadas).
  • Protocolo simple de transferencia de correo (Simple Mail Transfer Protocol ou SMTP): o protocolo SMTP permite enviar os correos entre servidores. Funciona como cliente e como servidor:
    • Cliente: envía correo a outro servidor SMTP
    • Servidor: recibe correo doutro servidor SMTP

SMTP usa TCP para enviar de xeito fiable os correos desde o cliente ao servidor (porto 25). A conexión TCP é persistente. Funciona mediante tres pasos:

  1. Apertura (handshaking)
  2. Transferencia do correo
  3. Peche

A interacción entre o axente de usuario e o servidor é mediante comando/resposta. Os comandos son texto ASCII e as respostas a eses comandos inclúen un código de estado e unha frase explicativa. A transferencia do correo faise directamente entre os dous servidores SMTP. As mensaxes deben estar en ASCII de 7 bit, aínda que esta é unha restrición arcaica herdada dos primeiros anos nos que se deseñou ao protocolo, hoxe en día superada como veremos máis adiante.

Na seguinte figura podemos ver un exemplo de envío de correo-e no que Ana envía un mail a Fran:

Aplicacion13.jpg

Os pasos que se seguen son os seguinteS:

  1. Ana usa un axente de usuario (MUA) para compoñer unha mensaxe para fran@instituto.edu
  2. O MAU de Ana envía a mensaxe ao seu servidor de correo; a mensaxe colócase na cola de mensaxes
  3. A parte cliente do SMTP de Ana abre unha conexión TCP co servidor SMTP de Fran
  4. A parte cliente do SMTP de Ana envía o correo sobre unha conexión TCP (previamente fai o handshake)
  5. O servidor SMTP de Fran coloca o correo no seu buzón
  6. Fran abre o seu cliente de correo para poder descargar e ler as mensaxes do seu buzón

A continuación amósase un exemplo de interacción SMTP entre un cliente (C) e un servidor (S):

    S: 220 servidor.edu 
    C: HELO cliente.fr 
    S: 250  Hello cliente.fr, pleased to meet you 
    C: MAIL FROM: <ana@cliente.fr> 
    S: 250 ana@cliente.fr... Sender ok 
    C: RCPT TO: <fran@servidor.edu> 
    S: 250 fran@servidor.edu ... Recipient ok 
    C: DATA 
    S: 354 Enter mail, end with "." on a line by itself 
    C: Quedamos hoxe? 
    C: A que hora e onde? 
    C: . 
    S: 250 Message accepted for delivery 
    C: QUIT 
    S: 221 servidor.edu closing connection

O formato dunha mensaxe de correo

UD7 1.jpg

No RFC 822 defínese o estándar para o formato das mensaxes de texto do correo electrónico. Estas mensaxes están formadas por unha cabececeira e un corpo da mensaxe.

A liña da cabeceira pode conter diferentes campos, por exemplo:

  • To: ou A:, que é obrigatorio e indica a quen vai dirixida a mensaxe.
  • From: ou De:, que tamén é obrigatorio e indica o remitente.
  • Subject: ou Asunto:, que é opcional e indica o motivo da mensaxe.

O Corpo é o texto do correo, en ASCII.

Extensións multimedia

Para poder enviar mensaxes que conteñan datos de tipo multimedia definíronse os tipos MIME (Multipurpose Internet Mail Extensions), que determinan as extensións multimedia para o correo e que están especificadas nos RFC 2045 e RFC 2056.

As extensións multimedia definen liñas adicionais na cabeceira da mensaxe que especifican o tipo de contido MIME, tal e como se ve no seguinte exemplo:

UD7 2.jpg

Protocolos de acceso ao correo

Con SMTP podemos envíar e almacenar os correos recibidos. Para poder descargalos do noso buzón precísase un protocolo de acceso ao correo específico.

UD7 4.jpg

Temos tres posibilidades, POP, IMAP e HTTP. Ao software encargada de realizar as funcións de distribución de correo chámaselle Mail Delivery Agent ou MDA.

POP ou Post Office Protocol

Está especificado no RFC 1939. Funciona mediante unha autorización previa (axente <-->servidor) e posterior descarga. Durante a fase de autorización os comandos do cliente poden ser:

  • user: nome de usuario
  • pass: password

E as respostas do servidor:

  • +OK
  • -ERR

Durante a fase de transacción algúns comandos do cliente poden ser os seguintes:

  • list: lista os nº dos correos
  • retr: obtén un correo
  • dele: borra un correo
  • quit: sae da sesión

A continuación amósase un exemplo de interacción entre un cliente (C) e un sevidor (S) con este protocolo:

S: +OK POP3 servidor listo
C: user fran 
S: +OK 
C: pass claveexemplo 
S: +OK user successfully logged on

C: list 
S: 1 498 
S: 2 912 
S: . 
C: retr 1 
S: <contido correo 1>
S: . 
C: dele 1 
C: retr 2 
S: <contido correo 2>
S: . 
C: dele 2 
C: quit 
S: +OK POP3 server signing off

O exemplo anterior usa o modo “descarga e borrado”, polo tanto, o usuario non pode reler o correo se cambia de cliente. Existe o modo “descarga e mantén“que permite descargar o mesmo correo en clientes distintos.

IMAP ou Internet Mail Access Protocol

Está especificado no RFC 1730. É posterior ao POP e ten máis características, polo tanto, é máis complexo. Permite a manipulación dos correos almacenados no servidor, manténdoos centralizados. Permite ao usuario organizar correos en directorios, así como facer buscas. Outra característica importante é que permite descargar partes das mensaxes, por exemplo, só o texto do correo e non os adxuntos.

Webmail

Permite o acceso ao correo mediante a un navegador Web. Exemplos deste tipo de acceso son Gmail, Hotmail, Yahoo! Mail, etc. É un servizo cada vez máis usado pola súa comodidade.

O Axente de Usuario é un navegador Web e no servidor web fai falta software específico (i.e: squirrel mail) O usuario accede ao seu correo no servidor vía HTTP, no canto de usar POP3 ou IMAP. Para enviar o correo tamén se usa HTTP, no canto de SMTP, pero a comunicación entre servidores é mediante SMTP.

Instalación dun servidor SMTP

Existen moitos programas que fan de servidor de correo saínte (Postfix, Qmail, Exim, etc.). Postfix caracterízase por ser potente, fácil de configurar e seguro. Por iso é o que se usará. Para instalar o programa en Ubuntu tecléase o seguinte:

sudo apt-get install postfix

Durante a instalación aparecerán varias pantallas de configuración. Na primeira delas hai que escoller a opción Sitio de Internet. A continuación hai que escoller o nome de correo do sistema. Este nome debe ser o nome completo de dominio (FQDN). Por exemplo, se un enderezo de correo no servidor local fose alumno1@2esi.org, o valor correcto para esta opción será 2esi.org.

Pódese comprobar que o servidor está executándose tecleando:

netstat -tl

Outra forma de velo e facendo unha conexión mediante o comando telnet ao porto 25 da máquina e interactuar co servidor que acabas de instalar introducindo os comandos correspondentes.

Instalación dun servidor POP/IMAP

Existen moitos programas que fan de servidor de correo saínte (Cyrus, Courier, etc.). Nós instalaremos o Dovecot que fará de servidor POP e IMAP. Para iso hai que teclear nunha consola o seguinte:

sudo apt-get install dovecot-imapd dovecot-pop3d

Se se executa o comando netstat -tl vese que se instalaron os servizos POP e IMAP e tamén as súas versións segurar, é dicir, POPS e IMAPS. Pódese comprobar o funcionamento do servizo facendo unha conexión mediante o comando telnet ao porto 110 da máquina (se usamos POP) e interactuar co servidor que se acaba de instalar introducindo os comandos correspondentes do protocolo.

--Arribi 12:01 16 mar 2009 (GMT)