El correo electrónico (correo-e, conocido también como e-mail ), es un servicio de red que permite a los usuarios enviar y recibir mensajes y archivos mediante sistemas de comunicación electrónicos.
El correo electrónico gira alrededor del uso de las casillas de correo electrónico. Cuando se envía un correo electrónico, el mensaje se enruta de servidor a servidor hasta llegar al servidor de correo electrónico de destino. Más precisamente, el mensaje se envía al servidor del correo electrónico
(llamado MTA, del inglés Mail Transport Agent [Agente de Transporte de Correo]) que tiene la tarea de transportarlos hacia el MTA del destinatario. En Internet, los MTA se comunican entre sí usando el protocolo SMTP, y por lo tanto se los llama servidores SMTP (o a veces servidores de correo saliente). Para su funcionamiento necesitan de los servidores DNS que les indican cuales son los servidores de correo de un determinado domino.
SMTP
Simple Mail Transfer Protocol (SMTP) Protocolo Simple de Transferencia de Correo, es un protocolo de la capa de aplicación. Basado en textos utilizados para el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos (PDA’s, teléfonos móviles, etc.). Está definido en el RFC 2821 y es un estándar oficial de Internet.
Luego el MTA del destinatario entrega el correo electrónico al servidor del correo entrante (llamado MDA, del inglés Mail Delivery Agent [Agente de Entrega de Correo]), el cual almacena el correo electrónico mientras espera que el usuario lo acepte. Existen dos protocolos principales utilizados para recuperar un correo electrónico de un MDA:
Por esta razón, los servidores de correo entrante se llaman servidores POP o servidores IMAP, según el protocolo usado.
En Linux existen varios servidores de SMTP, POP/IMAP. En nuestro curso utilizaremos postfix y dovecot.
Sitio oficial: http://www.postfix.org/
Protocolo: SMTP
Sitio oficial: http://dovecot.org/
Protocolos: POP3 – IMAP
Utilizaremos el comando yum para instalar los paquetes de: postifx y dovecot.
yum y install postfix dovecot
Archivo: main.cf
myhostname = correo.cfe.edu.uy
mydomain = cfe.edu.uy
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost,
$mydomain
mynetworks_style = subnet
mynetworks = 192.168.0.0/24, 127.0.0.0/8
home_mailbox = Maildir/¡
#agregarlo al final del archivo
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated, reject_unauth_destination
Archivo /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4
localhost4.localdomain4
::1 localhost localhost.localdomain localhost6
localhost6.localdomain6
192.168.0.50 correo correo.cfe.edu.uy
Directorio /etc/dovecot/conf.d
Archivo: 10-master.conf
service auth {
# auth_socket_path points to this userdb socket by default. It’s typically
# used by dovecotlda, doveadm, possibly imap process, etc. Its default
# permissions make it readable only by root, but you may need to relax these
# permissions. Users that have access to this socket are able to get a list
# of all usernames and get results of everyone’s userdb lookups.
unix_listener authuserdb {
unix_listener /var/spool/postfix/private/auth {
#mode = 0600
mode = 0600
#user =
user = postfix
#group =
group = postfix
}
Archivo: 10-mail.conf
mail_location = maildir:~/Maildir
Archivo: 20-pop3.conf
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlooknonuls
Archivo: 20-imap.conf
imap_client_workarounds = delaynewmail
Archivo: 10-auth.conf
disable_plaintext_auth = no
Servicios
Una vez configurados los servicios se levantan con el siguiente comando:
service postfix start
service dovecot start
Ver las conexiones establecidas con el comando netstat:
Ver los puertos abiertos con nmap:
En una terminal de otra máquina linux ingresamos el comando:
telnet 192.168.0.50 pop3
Vemos que dovecot esta ready.
Luego ingresamos el comando user con el nombre del usuario:
user solange
Al final el comando pass para darle la contraseña:
pass solange
Si devuelve todo +OK significa que el servidor está autentificando al usuario.
Utilizaremos telnet al puerto 25
Primero el comando ehlo al servidor para ver la configuración:
ehlo correo.cfe.edu.uy
Luego enviamos un mail al destinatario:
mail from: solange@cfe.edu.uy
Enviado por :
rcpt to: solange@cfe.edu.uy
Ingresamos el texto con el comando:
data
Para terminar el texto ingresamos un punto (.)
Para leer el correo utilizaremos telnet al puerto pop3
Luego de autenticarnos, ingresamos el comando list para ver la lista de correos.
Para leer un correo ingresamos el comando retr y el número de mail.