Mail, envía correos electrónicos desde la terminal de tu equipo Gnu/Linux
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 -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.
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 -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:
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 -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:
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 -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.
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:
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 -s "Correo con encabezados adicionales" -a From:sapoclay\<usuario1@casimailx.com\> nonaino@mail.com
El resultado recibido por el usuario sería el siguiente:
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 mail
El artículo Mail, envía correos electrónicos desde la terminal de tu equipo Gnu/Linux ha sido originalmente publicado en Ubunlog.