Mail, envía correos electrónicos desde la terminal de tu equipo Gnu/Linux

About comando mail

En el siguiente artículo vamos a echar un vistazo al comando Mail. Hoy en día existen muchas maneras de enviar correos electrónicos, bien sea utilizando GUI, usando el navegador o con un cliente de correo electrónico. Pero las opciones se vuelven más limitadas cuando se trata de la interfaz de línea de comando (CLI). Por eso en este post vamos a ver cómo enviar correos desde la terminal de un sistema Gnu/Linux.

Hay algunas opciones que podemos utilizar para enviar correos desde la terminal, como podrían ser Sendmail, Mutt, etc. Pero en estas líneas, veremos cómo utilizar el comando Mail para enviar correos desde la terminal de nuestro sistema. Este comando lo vamos a poder utilizar directamente desde la terminal o también podemos usarlo cuando programemos nuestros scripts de BASH.

Antes de empezar a utilizarlo, vamos a tener que instalar este comando de correo, en caso de que nuestra distribución no disponga de el de manera predeterminada.

Instalación

Como digo, muchas distribuciones Gnu/Linux, disponen del comando de correo de manera predeterminada, pero si este no es el caso de tu sistema, decir que se puede instalar utilizando unos pocos comandos. Para este artículo he de decir que yo estoy utilizando Ubuntu 18.04 LTS. En caso de tener que instalar el programa en Ubuntu/Debian/Linux Mint, podemos usar apt-get para instalar el comando en nuestros sistemas. Abrimos una terminal (Ctrl+Alt+T) y escribimos:

sudo apt-get install mailutils

Ejemplos para enviar correos desde la terminal

Enviar un correo simple

Para enviar un correo simple, tan solo con algún contenido en el cuerpo, ejecutaremos:

mail correo simple enviado desde la terminal

mail -s "Email simple enviado desde la terminal" nonaino@mail.com

En este comando, la opción -s se usa para mencionar el asunto del correo. Sigue la dirección de correo electrónico a la que queremos enviar el correo. Ahora, después de ejecutar el comando anterior, necesitamos escribir el contenido del cuerpo. Una vez que hayamos terminado, pulsaremos la combinación de teclas CTRL+D para salir y enviar el correo.

En nuestro gestor de correo recibiremos algo como lo siguiente. He de reconocer que de primeras, el correo lo he encontrado en la carpeta de span.

mail correo simple recibido

También podemos usar el siguiente comando en una sola línea para enviar el correo:

mail -s "Email de prueba" nonaino@mail.com <<< "Este es el cuerpo del correo"

Enviar correo a destinatarios múltiples

Para enviar correos a más de un usuario, tan solo tendremos que mencionar todas las direcciones de correo electrónico separadas por una coma. Un ejemplo de ello sería:

mail correo destinatarios multiples enviado desde la terminal

mail -s "Email a varios usuarios" usuario1@mail.com,usuario2@mail.com,usuario3@mail.com

Los usuarios a los que se les envía el correo, recibirán algo como lo siguiente:

mail correo destinatarios múltiples recibido

Enviar un correo con archivo adjunto

Otra opción que tendremos, será la de enviar un correo con un archivo adjunto. Para esto utilizaremos la opción ‘A’ con el comando Mail. He de decir que el archivo que envío en este ejemplo está en la misma carpeta en la que me encuentro mientras envío el correo. Por ejemplo, si quisiésemos enviar un archivo llamado ‘texto.txt’, utilizaríamos el siguiente comando:

mail correo con archivo adjunto enviado desde la terminal

mail -s “Correo con archivo adjunto” nonaino@mail.com -A texto.txt

El usuario que reciba el correo, verá en su gestor de correo algo como lo que se puede ver en la siguiente captura:

mail de correo con archivo adjunto recibido

Enviar el contenido de un archivo en el mail

Para enviar el contenido de un archivo usando el comando mail escribiremos en la terminal:

mail correo enviando el contenido de un archivo desde la terminal

mail -s “Salida del archivo” nonaino@mail.com < /home/sapoclay/texto.txt

El usuario recibirá el contenido del archivo directamente en el cuerpo del correo. Como se puede ver en la siguiente captura, no se envía como adjunto el archivo en cuestión, como ocurría en el anterior apartado.

mail de correo con el contenido de un archivo enviado desde la terminal

Enviar un correo con la salida de un comando

Vamos a poder enviar la salida de un comando como el contenido del cuerpo del correo. Por ejemplo, si necesitamos enviar la salida de ‘cat /home/sapoclay/.config/mimeapps.list‘ utilizaríamos:

mail de un comando con su resultado enviado desde la terminal

cat /home/sapoclay/.config/mimeapps.list | mail -s "Envío del resultado de un comando" nonaino@mail.com

Enviar un correo con el comando echo

También podemos hacer uso del comando echo para enviar un correo electrónico.

echo "Este es el cuerpo del email" | mail -s "Prueba de correo" nonaino@mail.com

Enviar un correo con encabezados adicionales

Para enviar un correo con encabezados adicionales, utilizaremos la opción ‘a’ con el comando de correo.

mail de correo con encabezados adicionales

mail -s "Correo con encabezados adicionales" -a From:sapoclay\<usuario1@casimailx.com\> nonaino@mail.com

El resultado recibido por el usuario sería el siguiente:

mail correo encabezados adicionales recibido

Con esto damos por terminado el artículo. Estos fueron solo algunos ejemplos comunes del uso de este comando. Buscando un poco por internet se pueden encontrar algunas otras. También podremos encontrar más documentación sobre este comando haciendo uso de las páginas man en la terminal (Ctrl+Alt+T):

man comando mail

man mail

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   edkalrio dijo

    Me da la sensación de que ni siquiera el que ha redactado este tutorial es consciente de lo que supone no configurar un MTA. Para que los lectores noveles me entiendan, este tutorial, tal como está escrito, solo sirve para enviarse correos a uno mismo aunque en ningún momento se advierte de esta gran deficiencia.

    Los tutoriales de ubunlog solían tener más calidad. Es una pena.

  2.   Javi Felices dijo

    Lo bueno del artículo sería como configurar un servidor de correo, o configurar gmail…

    Soy novel, pero he visto cosillas sobre el tema de correos, para gmail tuve que configurar alguna que otra cosa.

    Sería interesante algo un poco más concreto y como digo, para un montar un servidor de correo o qué archivos se deben tocar.

    ¿Puedes comentar algo sobre MTA?

    Un saludo y gracias.

  3.   Darsie dijo

    consulta, y dónde se configura el mail para poder enviar??? se coloca un smtp? no entiendo
    Magicamente los mails no se enviarían por sí solos. Falta una referencia de salida

  4.   Ernesto dijo

    Al menos yo no soy el único pelotudo que se da cuenta que este tutorial no esta completo, acabo de instalar ubuntu y no funciona nada de las cosas que aqui se dicen. MIERDA!