Correo electrónico Archivo

Anuncio
8. Servicios de
Correo.
IES Gonzalo Nazareno.
Instalación y Mantenimiento de Servicios
de Internet.
María Jesús Gragera Fernández.
8.1. ¿Qué es el servicio de correo
electrónico?

El correo electrónico (e-mail) se trata sin duda de una
de las aplicaciones más utilizadas en Internet.

Se basa en la creación y transmisión de mensajes entre
usuarios de la red sin necesidad de que estén
conectados simultáneamente.

La idea es transferir un mensaje entre un usuario A de la
máquina X y otro usuario B de la máquina Y.

El correo electrónico:




No garantiza que los mensajes lleguen a su destino.
No asegura que el remitente sea quien dice ser.
No mantiene compromiso de avisar de cualquier anomalía
en el transcurso del envío o recepción del mensaje.
El envío de mensajes permite incluir (adjuntar) archivos
de texto, de vídeo, de audio, de imágenes, etcétera.

Para que dos usuarios puedan intercambiar
mensajes de correo electrónico ambos deben tener
una cuenta de correo en una máquina llamada
servidor de correo electrónico.

En general se puede hablar de enviar mensajes
entre dominios, es decir, el mensaje se envía al
dominio al cual pertenece el usuario utilizando una
máquina como representante de correo de ese
dominio.

En un principio, el correo electrónico sólo podía
enviar mensajes de texto. Hoy día es posible enviar
imágenes, sonido, etc, mediante la utilización de los
tipos UUEncode/UUDecode antes y, ahora los tipos
MIME, que deben ser soportados por los servidores
de correo.

Los tipos MIME (Multipurpose Internet Mail Extensions,
Extensiones de Correo Internet Multipropósito) son una
serie de especificaciones que permiten el intercambio, a través
de Internet, de todo tipo de archivos (texto plano, html, audio,
vídeo, etc.) de forma transparente para el usuario MIME fue
definido en 1992 por la Internet Engineering Task Force (IETF,
http://www.ietf.org).

Existen tipos MIME predefinidos, como GIF, JPEG, o
Postscript, pero es posible definir tipos MIME propios, y
existe una nueva versión llamada S/MIME que soporta
mensajes encriptados.

UUEncode es un programa que convierte un archivo binario
en un archivo ASCII de texto, para que así pueda ser enviado
como documento adjunto en el correo electrónico.
Una vez recibido el mensaje, UUDecode devuelve el archivo a
su formato original.

8.2. Características del correo
electrónico.

Es un sistema de mensajería interpersonal: un remitente y
uno o varios destinatarios, entre ellos el propio remitente.

No es interactivo, es decir, no se espera una contestación
inmediata del mensaje.

No es intrusivo, es decir, se lee cuando se quiere.

Permite al usuario elaborar su contenido.
Sigue el modelo cliente-servidor. El equipo servidor es
donde están definidas las cuentas de correo de los
usuarios y sus buzones correspondientes y los clientes de
correo son los encargados de gestionar la descarga de los
correos, así como su elaboración.

8.3. Un poco de historia.

El uso inicial del correo electrónico está muy ligado a los
primeros años de Internet, comienza en 1971, con Ray
Tomlinson (BBN Technologies, http://www.bbn.com) quien
desarrolló un programa para que sus compañeros pudiesen
intercambiar mensajes desde y hacia máquinas conectadas a
la red ARPANET.

Fue este ingeniero de sistemas quien decidió utilizar la
arroba ‘@’ como carácter separador.

En aquella época Internet era utilizado principalmente por
organismos
como
universidades
y
centros
de
investigación, que habitualmente poseían uno o varios
servidores (normalmente bajo alguna variedad de UNIX) a
los que se conectaban sus usuarios a través de terminales.

Los servidores de estos organismos funcionaban de
forma ininterrumpida por lo que se diseñó un protocolo
de intercambio de mensajes para esta situación.

En 1980, Suzanne Sluizery Jon Postel crearon el embrión
del
protocolo
SMTP
(Simple
Mail
Transfer
Protocol),diseñado para el intercambio de mensajes
entre servidores que siempre permanecían conectados a
Internet.

Fue en el año 1982 cuando se establece el protocolo
SMTP (Simple Mail Transfer Protocol) a través de la RFC
821 1 2.


Según la wikipedia: Acrónimo inglés de Request For
Comments. Conjunto de archivos de carácter técnico donde
se describen los estándares o recomendaciones de
cualquier cosa. Entre otros los de la propia Internet.
Los RFC están disponibles en http://www.faqs.org/rfcs/

En 1984 con los ordenadores personales que se
conectan a Internet ocasionalmente, surgió la
necesidad de que dichos mensajes llegasen a estos
usuarios finales. Apareció así el protocolo POP (Post
Office Protocol), o protocolo de oficina de correo.

El protocolo POP inicial sólo permitía funciones básicas
de descarga o borrado de mensajes. Más tarde
aparecieron POP2 y POP3 que mejoraban la gestión
de los mensajes de correo.

Los protocolos SMTP y POP solucionan el problema
del transporte del correo a través de Internet, pero
sólo transportan mensajes en formato ASCII. La
solución es usar programas de codificación y
decodificación, como UUEncode y UUDecode, hasta
la aparición de los tipos MIME.
8.4. Elementos del servicio de correo
electrónico.

Desde que un mensaje de correo electrónico se escribe
hasta que es leído por el destinatario, son varios los
elementos que intervienen.

MTA (Mail Transfer Agent): agente encargado de la
transferencia de los mensajes de correo entre
máquinas mediante el protocolo SMTP.
En su “viaje”desde el origen hasta su destino un
mensaje puede pasar por varios MTA de forma
transparente para el usuario.
Funciones:





Efectúa el encaminamiento del correo entre los diferentes
sistemas.
Se conoce como servidor de correo, también llamado
estafeta o agente de distribución de correo.
Gestiona la distribución del correo saliente y está
pendiente de la llegada del correo entrante desde
Internet.

Ejemplos: sendmail, postfix, qmail, exim.

Si el único elemento que interviniese en la recepción y
envío de correo fuesen servidores SMTP, el correo
electrónico sólo podría ser utilizado por usuarios reales
de cada máquina que accediesen mediante una shell.

MDA : (Mail Delivery Agent, Agente de entrega de
correo).
Funciones:




Copiar los mensajes del agente de transferencia de correo
(MTA) o servidor de correo al buzón de correo del usuario.
El agente MDA no transporta mensajes entre sistemas ni es
un interfaz de trabajo para el usuario.
Los clientes de correo POP e IMAP se pueden considerar
como agentes MDA.






MUA (Mail User Agent, Agente de usuario de
correo): es el programa que ejecuta el usuario para
leer el correo entrante o para enviar mensajes. Sus
principales características son:
Constituye el interfaz de usuario que le permite
editar, componer y enviar correo local.
Son los llamados clientes de correo.
Ejemplos: elm, pine, Outlook Express, Thunderbird.
MAA? (Mail Access Agent o agente de acceso
de correo): No existe unanimidad en la
denominación de este tipo de programas, de ahí el
interrogante en el encabezado.
Se trataría de programas necesarios para obtener el
correo de los buzones cuando éste no está en
ficheros locales accesibles por el MUA.

Los protocolos más utilizados para realizar esta
acción son pop3 e imap.
Gráficamente los elementos del servicio de
correo electrónico.
Buzón
calle
MUA
Oficina
Correos
Sevilla
Oficina
Correos
Madrid
MTA
MTA
Cartero
MDA
Buzón
casa
MUA
8.5. Funcionamiento.

Transferencia:
1.El remitente escribe un mensaje mediante el cliente de
correo (MUA).
2.El MUA se conecta con el MTA que tiene configurado como
“servidor de correo saliente” y le entrega el mensaje.
El MTA puede estar en una máquina distinta a la del MUA.
3.El MTA se encarga de enrutar el mensaje, hacia una
máquina si tiene la IP y si lo que tiene es un dominio buscará
los registros MX en el DNS de dicho dominio para conocer
que máquina gestiona el correo.
4.Una vez el mensaje está enrutado, el MTA del remitente se
conecta al MTA del destinatario y le transfiere el mensaje (la
transferencia se puede realizar utilizando más de un camino y
por tanto más de un MTA) mediante SMTP.
5.Una vez aceptado el correo, para lo cual la máquina
debe de estar encendida y el usuario tiene que existir,
el MTA del destinatario se conecta al MDA y le entrega
el mensaje( el MTA y MDA pueden ser el mismo
programa).
6.El MDA guarda el mensaje en el buzón o mailbox
correspondiente y el usuario será el encargado de
recogerlo. Este fichero buzón suele ser /var/spool/mail/
<usuario>, aunque en ocasiones utiliza una base de
datos cuando el volumen de correo es muy elevado o
para que no sean usuarios reales de la máquina.


Lectura:
Una vez que el MDA ha entregado el correo (lo ha
echado en el buzón) el destinatario se encargará de
acceder al buzón para leerlo.
a)
El usuario se encuentra en la misma
máquina que el buzón: en ese caso el MUA se
encargará de acceder al fichero que guarda el
mensaje.
b) El usuario se encuentra en una máquina
remota: en este caso el MUA tendrá que acceder a
través de la red a la máquina del buzón y conectarse
mediante POP3 o IMAP al MAA. El MAA trabaja
igual que el MUA pero mediante control remoto, es
decir, controlado por el MUA de la máquina remota.
8.6. Protocolos.

SMTP (Protocolo Simple de Transmisión de Correo): es el
estándar de Internet para el intercambio de correo electrónico,
y su función es realizar el transporte del correo saliente desde
la máquina del usuario remitente hasta los servidores donde se
almacenan los mensajes de los usuarios destinatarios.

El documento RFC 821 define el protocolo SMTP, que es de
tipo cliente/servidor. El protocolo fue ampliado en 1993 (RFC
1425), dando lugar al protocolo ESMTP (Extended Simple
Mail Transfer Protocol) que incorpora nuevos comandos y
opciones de entrega.

SMTP utiliza el puerto 25 del servidor para comunicarse, y el
protocolo consiste en un conjunto de comandos y respuestas
entre el emisor y el receptor.

Los comandos (por ejemplo, HELO) constan de 4 letras,
admiten argumentos y finalizan con el carácter CR.

Las respuestas constan de líneas de texto precedidas
por algún código que identifica el tipo de respuesta.

Para que dos sistemas intercambien correo mediante
SMTP no es necesaria una conexión permanente e
interactiva entre ellos: el protocolo SMTP es capaz de
almacenar los correos y llevar a cabo el reenvío a sus
destinos de forma diferida.

SMTP no requiere autenticación. Esto supone un
gran problema, ya que favorece el envío y recepción
de mucho correo basura o spam. Y además, un
usuario no local puede también utilizar el sistema de
otro usuario para enviar sus correos utilizando los
recursos y ancho de banda del sistema.

Las nuevas extensiones de SMTP incorporan ya
comandos de autenticación (AUTH, descrito en el
RFC-2554).

El funcionamiento de SMTP puede resumirse
en la siguiente secuencia de pasos:






El emisor abre una conexión TCP con el destino.
El receptor contesta “220 service ESMTP“.
El emisor se identifica: envía el mensaje “HELO“.
El receptor acepta: envía el mensaje“250 OK“.
El comando EHLO permite que el servidor conectado
pueda identificarse a sí mismo como un servidor
compatible con las extensiones SMTP (las líneas 250
que aparecen en el ejemplo).
Sino está disponible contesta: “421 Service Not
Available“.

Ejemplo:

Veamos los principales comandos del protocolo
SMTP mediante un ejemplo.

En la página http://www.septeto.com/documentos/
smtp.html encontramos una guía sobre los
principales comandos smtp.

Nos conectamos mediante telnet con el servidor de
correo saliente:
# telnet mailhost.terra.es 25
Especificamos el nombre del servidor al que nos
conectamos y el puerto de escucha.
Ahora podemos comenzar a escribir el mensaje:
>>EHLO: iagbxx.terra.es -> nombre del cliente
Si el servidor soporta autentificación habrá que
hacerlo con los métodos que nos indique.


Utilizamos EHLO para saber si el servidor soporta
autentificación en caso afirmativo nos contestará los
métodos que soporta.
Elegimos uno de ellos por ejemplo login.
>>AUTH LOGIN (CR)
El servidor nos contestará con
334 VXNlcm5hbWU6




El texto está codificado en Base64. Lo que
realmente pone es "Username:".
Ahora nosotros tenemos que escribir nuestro
nombre de usuario TAMBIÉN codificado en Base64.
Debemos escribir el texto tal cual le aparezca
codificado a la ventana de Telnet, teniendo en
cuenta que se distinguen mayúsculas y minúsculas
(no es lo mismo "A" que "a") y pulsar CR.
El servidor nos responderá con lo siguiente:
334 UGFzc3dvcmQ6 que significa "Password:".


Codificamos la contraseña en Base64 y la escribimos
codificada en el cliente Telnet.
Si la autentificación ha sido llevada a cabo nos contestará
235 Authentication succeeded

Una vez hecha la autentificación seguimos con el envío del
mensaje.
>>MAIL FROM: [email protected] -> dirección del remitente
>>RCPT TO: [email protected] -> dirección del destinatario
>> DATA indica que lo que viene ahora son los datos del
mensaje
>>FROM: [email protected] ->para que aparezca en el mensaje
el destinatario
>> SUBJECT: saludo
>> CC: [email protected]
>> DATE: 09-01-07
>> Esta línea en blanco (CR)
>> Aquí escribimos el mensaje
...........................................
>>CR . CR -> Para indicar “fin de mensaje” la última
línea debe de contener un punto.
>> QUIT: -> para salir.

Se pueden enviar tantos mensajes como queramos
dentro de una sesión. Basta con volver a especificar
MAIL FROM, RCPT TO y DATA.

En la siguiente imagen podemos ver un ejemplo de
envío de mensajes a través del servidor de correo
mediante el protocolo SMTP.





El protocolo POP3 (Protocolo de oficina de correo):
permite la gestión, acceso y transferencia de mensajes de
correo electrónico entre el servidor remoto y la máquina
cliente.
Este protocolo está descrito en el documento oficial RFC
1725.
El usuario se conecta a su servidor de correo de forma
temporal y, mediante un programa cliente de correo se
descarga sus mensajes y luego desconecta del servidor.
Esto obliga al servidor a mantener almacenado en un
buzón el correo de sus usuarios, y sólo transferirlo a los
clientes de correo cuando ellos lo soliciten.
El protocolo POP va por la tercera versión, POP3. La
descripción del protocolo POP3 viene detallada en el
documento RFC-1939.





El protocolo POP3 utiliza el buzón del usuario, ubicado en
el
servidor
de
correo,
como
mecanismo
de
intercomunicación con él.
Para que el cliente de correo se conecte al servidor, es
necesario que el usuario tenga una cuenta de correo en
dicha máquina (lo que le permite tener un buzón). A
continuación se produce la autenticación del usuario. Una
vez conectado, el cliente POP3 puede comunicarse con el
servidor para saber si existen mensajes en el buzón, y
solicitar la descarga de alguno de ellos.
SMTP se utiliza para el envío de correo.
POP se utiliza para la recepción o descarga de correo.
El cliente POP3 se conecta con el servidor a través del
puerto TCP 110.
Protocolo POP: Fases de la comunicación.




Fase de conexión: el servidor está a la escucha en el puerto 110,
esperando la conexión de un cliente de correo. Por ejemplo, al hacer
un telnet al puerto 110 del servidor.
Fase de autenticación: el servidor espera un nombre y clave de una
cuenta. Puede ser en texto plano o encriptado. No es posible pasar a
la fase siguiente si la validación del usuario no ha sido correcta. Los
comandos son USER y PASS.
Fase de transacción:
transacción al validarse el usuario su buzón se bloquea
(para evitar inconsistencias) y está disponible para consultas. Los
comandos LIST, RETR y DELE permiten mostrar, descargar y eliminar
mensajes del servidor, respectivamente. El comando QUIT permite
pasar a la siguiente fase.
Fase de actualización: el usuario se desconecta y el servidor
actualiza el buzón, elimina los mensajes que se han marcado para
borrar y desbloquea el buzón (ya pueden entrar nuevos correos).




Vamos a comprobar si tenemos correo en nuestra
cuenta de terra.
Primero nos conectamos con el servidor de correo
entrante.
# telnet pop3.terra.es 110
Lo primero que aparece es <<+ok pop3
Las órdenes que podemos utilizar son:
>>USER iagb.terra.es -> nombre del usuario cuyo correo
queremos comprobar.
>>PASS iagbiagb -> contraseña del usuario
>> STAT ->muestra el nº de mensajes y total de bytes que
ocupan.
>>LIST ->muestra el nº de cada mensaje y lo que ocupa.
>>RETR <nº> -> muestra el mensaje <nº>
>>DELE <nº> -> borra el mensaje <nº>
>>TOP <nº> <l> -> muestra las l primeras líneas del
mensaje <n>. Si queremos ver las cabeceras, l=0
8.7. Tipos de clientes de correo
electrónico.




Los clientes de correo varían en función del acceso al
correo.
Cliente instalado en el ordenador: aplicación que
se ejecuta directamente desde el ordenador. Permiten
la descarga del correo al equipo local desde el
servidor.
Cliente vía web: desde el navegador web se puede
acceder a la página correspondiente al servidor y
mediante una conexión, segura o no, se accede a los
mensajes recibidos, y se envían nuevos mensajes.
Cliente en el servidor: para leer el correo, en primer
lugar hay que conectarse al servidor mediante una
conexión segura como ssh. Una vez abierta la
conexión con el servidor, se ejecuta alguno de los
clientes de correo instalados en él, como pine. Lo
suelen utilizar administradores y usuarios avanzados,
ya que funciona en modo texto.
5.8. Configuración del cliente de correo.



Configuramos el MUA de nuestra máquina para
poder escribir y leer los mensajes de correo.
En nuestro caso vamos a configurar KMAIL.
Menú -> Internet -> Correo-> Kmail ->
Preferencias-> Configurar kmail>



Creamos una nueva identidad y pulsamos sobre
Identidades
Pulsamos sobre el botón Añadir
Nueva identidad “mi correo”


Configuramos el correo saliente.
Cuentas-> Enviando y rellenamos los datos
referentes al servidor de correo saliente smtp

Como el servidor requiere autentificación le damos
los datos de nuestro usuario y password.


Configuramos el servidor de correo entrante POP3.
Cuentas -> Recibiendo y rellenamos los campos con
los datos necesarios.



Aceptamos la configuración ya estamos en condiciones de
enviar y leer mensajes desde nuestro cliente.
Si en lugar de recibir el correo entrante por el servidor
POP3 queremos recibirlo en el buzón local, es decir, en el
archivo
/var/spool/mail/<usuario>
tendremos
que
configurar Kmail de la siguiente forma:
Configuración de Kmail->Cuentas-> Recibiendo->Buzón
local

El servidor de correo entrante POP3 y el buzón local no son
incompatibles.

Prácticas
Crea una cuenta de correo en terra del tipo [email protected].
1.
2.
Con los datos de la nueva cuenta de terra, configura el servidor de correo
saliente SMTP y el entrante POP3.
 Envía mensajes desde KMail con la cuenta de terra y léelos.
3.
3.
Configura en KMail el buzón local para esiX. (tienes que crear ese usuario)
 Envía mensajes a esiX desde una interfaz de comandos como usuario
root.
 Comprobar que los mensajes se pueden leer en Kmail y también en
/var/spool/mail/esiX.
Haz una lista de los clientes de correo más utilizados tanto en entornos
linux como windows.
Configura otro distinto a kmail para la cuenta de terra y si tienes una de
gmail para gmail. (Busca los datos en internet.)
Manda un mensaje con este nuevo cliente
4.
Detalla todos los pasos que has ido haciendo.
1.
2.
Descargar