9.6.3.1.- Enviar y recibir correo

Linux soporta una amplia variedad de clientes de correo que probablemente incluyan todas las funcionalidades, sin embargo, debemos saber cómo utilizar el programa mail desde la línea de comandos. Posee la ventaja de que se puede utilizar desde un script, por lo que podemos controlar automáticamente algunas tareas del correo. Por ejemplo, el script podría buscar las contraseñas que estén a punto de expirar y enviar un aviso a los usuarios para que cambien sus contraseñas .

tux_maestro_derAlgunos sistemas vienen con un programa llamado nail en lugar de mail, que incluye funcionalidades adicionales como la posibilidad de añadir ficheros adjuntos. Normalmente, hay un enlace llamado mail que apunta a nail, por lo que podemos llamar a nail como mail.

La sintaxis más básica de mail, incluyendo sus opciones más útiles es la siguiente:

Para enviar correo:
mail_enviar

Para leer el correo:
mail_leer

A diferencia de la mayoría de lectores de correo, mail sólo permite leer la cola de correo local, no los correos almacenados en servidores remotos que utilizan POP o IMAP. Las opciones de mail permiten conseguir distintos fines:

mail_sintaxis_1
mail_sintaxis_2
mail_sintaxis_3
mail_sintaxis_4

Opciones para leer el correo:

mail_sintaxis_5

Debemos recordar que hay sistemas que utilizan mail y otro utilizan nail, ya que las opciones disponibles para estos dos programas difieren. Las opciones aquí mostradas tienen el mismo efecto en ambos programas, pero algunas opciones como -a (permite insertar un encabezado de correo arbitrario en mail pero en nail se utiliza para adjuntar un fichero) poseen distinto significado según el programa.

Supongamos que deseamos enviar un correo a dos destinatarios diferentes, lo haremos del siguiente modo:

mail_ejemplo_1
Después de escribir el comando mail, el comando esperará datos por la entrada estándar. Una vez escribamos el mensaje, pulsaremos Control+d para finalizar. Después el programa mostrará la línea cc: para verificar esta opción. Aún podríamos cambiar la dirección, pero si no queremos hacerlo, pulsaremos intro para que el mensaje inicie su recorrido. Si utilizamos mail en un script, podemos pasarle el contenido de un fichero para enviarlo mediante una redirección de la entrada.

mail_ejemplo_2
Esta línea enviará el contenido de /tmp/alert.txt a benf@example.com con el asunto especificado.

Podemos utilizar mail para leer los mensajes entrantes, pero sólo si están ubicados en un buzón de correo local de Linux. En este caso lo normal es utilizar mail interactivamente. Escribiremos mail para ver el contenido del buzón de correo, cada mensaje muestra una línea de resumen que lista el emisor, la fecha y el asunto entre otras cosas:

mail_ejemplo_3
Este es el mensaje número 46, lo envía sally@luna.edu, llegó el 17 de agosto a las 18:27, tiene 116 líneas y 4262 bytes y su asunto es Priorities. Podemos leer un mensaje escribiendo su número. Para borrarlo, escribiremos d o responderemos a este escribiendo r.

En la práctica se suelen utilizar lectores de correo más sofisticados, mail es más útil para enviar correos encriptados que para leer el correo o enviar correos personales.