Inicio InformáticaGnu/Linux Mail, el comando para mandar emails desde la terminal de Ubuntu

Mail, el comando para mandar emails desde la terminal de Ubuntu

Publicado por entreunosyceros
Publicado el: Última actualización:

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

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 de Mail

Como digo, muchas distribuciones Gnu/Linux, disponen del comando de correo de manera predeterminada. 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 con el comando Mail

Enviar un correo simple

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

mail 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.

email simple enviado con mail 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:

Correo enviado con mail a destinatarios múltiples 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 de correo a 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 de 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 contenido archivo enviado desde 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 correo contenido archivo recibido

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 correo resultado comando enviado desde 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 con echo" 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 correo encabezados adicionales enviado desde terminal

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 de correo con encabezados adicionales recibidos

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

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

2 Comentarios

jean 30 junio, 2018 - 6:20 PM

Parece interesante, pero no entiendo como configurar cuando tenemos una cuenta gmail.

Respuesta
sapoclay 1 julio, 2018 - 6:16 PM

No tienes que configurar gmail. Al menos no como yo entendí el funcionamiento de este comando. Se trata de enviar correos desde la terminal de Ubuntu a una cuenta de correo, no de enviar correos de una cuenta de correo a otra. Aun que deberías echarle un vistazo a la ayuda que ofrece man, por si te saca de dudas. Salu2 y gracias por la visita.

Respuesta

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.