27.11. Agente de Correo de Usuario

Escrito por Marc Silver.

Un agente de correo de usuario (MUA en inglés Mail User Agent) es una aplicación que se utiliza para enviar y recibir correo. Coomo el correo electrónico está en constante evolución y cada vez se vuelve más complejo y con más opciones, los MUAs son cada vez más complejos y potentes. Esto permite a los usuarios disponer de mayor flexibilidad y funcionalidad. FreeBSD admite para muchísimos agentes de correo de usuario, todos los cuales pueden instalarse desde los Ports. Los usuarios pueden elegir entre lientes de correo con interfaz gráfica como evolution o balsa o entre clientes basados en consola como mutt, pine o mail, e incluso utilizar interfaces web.

27.11.1. mail

mail(1) es el agente de correo de usuario (MUA) que viene por defecto con FreeBSD. Es un MUA de consola que ofrece toda la funcionalidad básica necesaria para enviar y recibir correos, aunque resulta limitado limitado en su capacidad para manejar adjuntos y sólamente soporta carpetas de correo locales.

Aunque mail no soporta de forma nativa la interacción con servidores de correo mediante POP o IMAP estas carpetas de correo remotas pueden descargarse a un fichero mbox local utilizando una aplicación de descarga como fetchmail, que se describe en este mismo capítulo en (Sección 27.12, “Manejo de fetchmail”).

Para enviar y recibir correo eletrónico basta con ejecutar el comando mail. Veamos un ejemplo:

% mail

El contenido de la carpeta de usuario en el directorio /var/mail se leen automáticamente. Si la carpeta se encuentra vacía la aplicación termina su ejecución con un mensaje que indica que no ha podido encontrar correo. Una vez que la carpeta ha sido leída la interfaz de la aplicación entra en funcionamiento y se muestra por pantalla un listado de los mensajes recuperados. Los mensajes se numeran automáticamente y pueden leerse como se observa en el siguiente ejemplo:

Mail version 8.1 6/6/93.  Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N  1 root@localhost        Mon Mar  8 14:05  14/510   "test"
 N  2 root@localhost        Mon Mar  8 14:05  14/509   "user account"
 N  3 root@localhost        Mon Mar  8 14:05  14/509   "sample"

Los mensajes se pueden leer utilizando el comando t de mail escribiendo a continuación el número del mensaje que queremos leer. En este ejemplo vamos a leer el primer correo:

% t 1
Message 1:
From root@localhost  Mon Mar  8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon,  8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)

This is a test message, please reply if you receive it.

Como podemos observar en el ejemplo anterior el comando t muestra el contenido del correo eletrónico con todas sus cabeceras. Para mostrar el listado con todos los correos de nuevo, se debe utilizar la tecla h.

Si el correo eletrónico requiere una contestación se puede utilizar la aplicación mail para responder utilizando la tecla R o r. La tecla R indica a mail que conteste sólo al origen (remitente) del correo, mientras que la tecla r tanto al remitente a los otros usuarios receptores del mensaje original. Además ambos comandos se pueden ejecutar escribiendo a continuación el número que identifica al mensaje que se quiere responder. Tras esto la respuesta puede redactarse , y se debe indicar el final del mensaje mediante un punto (.) a continuación de un salto de línea. Veamos un ejemplo:

% R 1
To: root@localhost
Subject: Re: test

Thank you, I did get your email.
.
EOT

Para enviar nuevos correos eletrónicos se debe utilizar la tecla m seguida de la dirección de de correo del destinatario. Se pueden especificar varios destinatarios de correo separando cada dirección de correo con una coma ( , ). El asunto del mensaje de correo se puede escribir a continuación seguido por el cuerpo del mensaje. El final del mensaje se especifica como en el caso anterior, utilizando un . tras un saldo de línea y pulsando la tecla enter.

% mail root@localhost
Subject: I mastered mail

Now I can send and receive email using mail ... :)
.
EOT

Mientras nos encontremos dentro de la mail el comando ? puede utilizarse para mostrar la ayuda en línea aunque la principal fuente de información detallda sobre esta aplicación es la página man mail(1).

Nota:

Tal y como se ha dicho ya la aplicación mail(1) no fue diseñada originalmente para gestionar adjuntos, por lo que su forma de gestionarlos resulta ser extremadamente mala. MUA más modernos como mutt gestionan los adjuntos de correo de una forma mucho más inteligente. Si se desea utilizar el comando mail el port converters/mpack le puede resultar bastante útil.

27.11.2. mutt

mutt es un agente de correo de usuario pequeño pero muy potente, funcional y con excelentes características; veamos algunas:

  • La habilidad de agrupar mensajes en hilos.

  • Soporte de PGP para cifradon y firma digital de correos eletrónicos.

  • Soporte de tipos MIME.

  • Soporte de gestión de correo en formato Maildir.

  • Altamente configurable por el usuario.

Toda estas características hacen de mutt uno de los agentes de correo más avanzados del momento. Consulte http://www.mutt.org para más información sobre mutt.

La versión estable de mutt se puede instalar usando el port mail/mutt mientras que la versión de desarrollo está en mail/mutt-devel. Una vez que se ha instalado el port, mutt puede ejecutarse mediante el siguiente comando:

% mutt

mutt lee automáticamente el contenido de la carpeta de correo del usuario dentro del directorio /var/mail y muestra por pantalla su contenido. Si el directorio está vacío mutt quedará a la espera de los comandos que pueda pasarle el usuario. En el ejemplo que se muestra a continuación puede verse cómo mutt facilita la lista de mensajes al usuario:

Para leer un correo basta con seleccionarlo usando las teclas de cursor, y presionando la tecla Enter. Veamos cómo muestra mutt un correo electrónico:

Al igual que ocurre con mail(1) mutt permite que los usuarios contesten al remitente de cualquier mensaje así como a los demás receptores. Para responder sólo al remitente se puede utilizar la tecla r. Para responder a un grupo, es decir a todos los receptores y al remitente del correo eletrónico pulse g.

Nota:

mutt tiene vi(1) como editor por defecto para crear y responder a los mensajes de correo eletrónico. Si prefiere emplear otro editor modifique el valor de la variable editor en .muttrc.

Para escribir un mensaje de correo presione la tecla m. Después de escribir el asunto mutt ejecuta vi(1) y el cuerpo del mensaje puede escribirse. Una vez escrito el correo salga de vi y mutt se ejecutará de nuevo mostrando por pantalla un resumen del correo que está a punto de ser enviado. Para enviar ese correo hay que pulsar y. Este es un ejemplo de uno de esos resúmenes:

mutt también contiene una amplia ayuda a la que se accede desde la mayoría de los menús pulsando la tecla ?. La primera lína de la pantalla también muestra las teclas de método abreviado cuando es posible utilizarlas.

27.11.3. pine

pine es una aplicación de correo enfocada a los usuarios principiantes o inexpertos pero también incluye algunas características avanzadas.

Aviso:

Se han descubierto en pine varias vulnerabilidades que pueden explotarse de forma remota. Esas vulnerabilidades permiten que atacantes remotos puedan ejecutar código como si fueran usuarios locales del sistema mediante el envío de correos con un formato determinado. Todos los problemas conocidos se han resuelto pero el código de pine está escrito de una forma insegura y el Security Officer de FreeBSD opina que es probable que existan todavía vulnerabilidades sin descubrir. Si decide instalar pine debe asumir los riesgos que ello puede implicar.

La versión actual de pine se puede instalar utilizando el port mail/pine4. Una vez que se ha instalado pine se puede ejecutar mediante el siguiente comando:

% pine

La primera vez que se ejecuta pine se muestra un mensaje de bienvenida con una pequeña introducción a la herramienta junto con una petición del equipo de desarrollo de pine en la que se solicita que se envíe un correo de forma anónima un correo de forma anónima para que puedan hacerse una idea s de cuántos usuarios están utilizando la herramienta. Para enviar dicho correo hay que presionar la tecla Enter, o bien puede pulsar la tecla E para salir de la ventana de bienvenida sin enviar dicho correo. A continuación se muestra un ejemplo de la página de bienvenida:

Los usuarios disponen de un menú principal, que puede navegarse utilizando las flechas. Este menú proporciona atajos para la composición de nuevos correos, para navegar a través de las carpetas de correo, e incluso para la administración de la libreta de direcciones. Justo debajo del menú principal, se muestran las teclas de método abreviado (atajos) que pueden utilizarse en cada momento.

El directorio por defecto que pine intenta abrir es inbox. Para ver el índice de todos los mensajes recibidos pulse la tecla I o seleccione la opción de menú denominada MESSAGE INDEX como se muestra a continuación:

El índice muestra los mensajes en el directorio actual y puede navegarse en él utilizando las teclas del cursor. El mensaje seleccionado se puede leer presionando la tecla Enter.

En la captura de pantalla que se muestra a continuación se muestra un mensaje de ejemplo. Las teclas de atajo se muestran como referencia en la parte baja de la pantalla. Un ejemplo de dichas teclas de método abreviado es la tecla r que permite responder al mensaje que se muestra en dicho momento.

La contestación a un mensaje de correo eletrónico en pine se realiza mediante el editor pico, que se instala por defecto junto con pine. pico permite navegar de forma sencilla por los distintos mensajes de correo y es ligeramente más sencilla de manejar que vi(1), sobre todo para los usuarios noveles. Una vez que se ha escrito la réplica al correo se envía pulsando la tecla Ctrl+X. pine pedirá confirmación antes de enviarlo.

pine puede configurarse utilizando la entrada SETUP del menú principal. Se ruega consultar http://www.washington.edu/pine/ para obtener más información.

Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Si tiene dudas sobre FreeBSD consulte la documentación antes de escribir a la lista <questions@FreeBSD.org>.

Envíe sus preguntas sobre la documentación a <doc@FreeBSD.org>.