Como usuario habitual de Ubuntu, es posible que conozca bien el poder de la línea de comandos. En este artículo, exploraremos cómo puede usar Gmail desde su Terminal para enviar correos electrónicos, configurando el cliente msmtp. Bueno, gmail tiene una interfaz bastante útil y pegadiza, entonces, ¿por qué queremos optar por este enfoque de línea de comandos?
¿Por qué usar la Terminal para enviar correos electrónicos?
Si es una persona experta en terminales, no querrá dejar la comodidad de la línea de comandos e ir a otro lugar para realizar cualquiera de sus actividades técnicas diarias. Siempre hay una manera de hacer casi todas nuestras cosas dentro de la Terminal. Entonces, ¿por qué el envío de correos electrónicos debería ser diferente? Usar la Terminal hace que ciertas tareas sean más eficientes e incluso más rápidas. Las herramientas de la línea de comandos no usan demasiados recursos y, por lo tanto, constituyen excelentes alternativas a las aplicaciones gráficas ampliamente utilizadas, especialmente si tiene un hardware antiguo. Enviar correos electrónicos desde la Terminal se vuelve especialmente útil cuando puede escribir scripts de shell para enviar correos electrónicos y automatizar todo el proceso.
Hemos ejecutado los comandos y procedimientos mencionados en este artículo en un sistema Ubuntu 18.04 LTS.
Siga estos pasos, uno por uno, para instalar y configurar msmtp para que pueda enviar correos electrónicos desde su Terminal:
Paso 1:Abra la aplicación Terminal
Abra la aplicación Terminal usando el atajo Ctrl+Alt+T o accediendo a ella a través de la búsqueda del Lanzador de aplicaciones de la siguiente manera:
Paso 2:actualice el índice del repositorio
El siguiente paso es actualizar el índice del repositorio de su sistema a través del siguiente comando:
$ sudo apt-get update
Esto le ayuda a instalar la última versión disponible de un software de Internet. Tenga en cuenta que solo un usuario autorizado puede agregar, eliminar y configurar software en Ubuntu.
Paso 3:Instalar el cliente Msmtp
Ahora está listo para instalar el cliente msmtp desde la Terminal; puede hacerlo ejecutando el siguiente comando como sudo:
$ sudo apt-get install msmtp-mta
El sistema puede pedirle la contraseña de sudo y también proporcionarle una opción S/n para continuar con la instalación. Ingrese Y y luego presione enter; el software se instalará en su sistema. Sin embargo, el proceso puede llevar algún tiempo dependiendo de la velocidad de Internet.
Paso 4:Configurar msmtp para gmail
Ahora es el momento de configurar msmtp diciéndole nuestras credenciales de gmail, el puerto a usar, el host y algunos otros detalles de autorización y conexión:
Abra un archivo llamado msmtprc en uno de sus editores de texto favoritos. Estoy usando el famoso editor Nano para abrir el archivo de la siguiente manera:
$ nano ~/.msmtprc
Luego, copie el siguiente código en el archivo vacío:
#Gmail account defaults #change the location of the log file to any desired location. logfile ~/msmtp.log account gmail auth on host smtp.gmail.com from <[email protected]> auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt user <[email protected]> password <your-password> port 587 #set gmail as your default mail server. account default : gmail
Consejo: En lugar de escribir el código completo en su archivo, puede copiarlo desde aquí y pegarlo en la Terminal usando Ctrl+Shift+V, o usando la opción Pegar del menú contextual.
Ahora, salga del archivo a través del atajo Ctrl+X y guarde el archivo en "¿Guardar búfer modificado?" mensaje escribiendo Y y luego presionando Enter.
Guardar su contraseña en formato de texto en cualquiera de sus archivos nunca es una buena idea. Por lo tanto, puede proteger el archivo ejecutando el siguiente comando:
$ chmod 600 .msmtprc
Paso 5:Instalar reliquia-mailx
En este punto, hemos configurado nuestra computadora para hablar con el servidor remoto de Gmail. Lo que debemos hacer ahora es configurar una interfaz de línea de comandos que nos permita redactar correos electrónicos para enviar. Mailx es el programa que nos permitirá hacer todo esto, y así es como podemos instalarlo:
$ sudo apt-get install heirloom-mailx
El sistema puede pedirle la contraseña de sudo y también proporcionarle una opción S/n para continuar con la instalación. Ingrese Y y luego presione enter; el software se instalará en su sistema. Sin embargo, el proceso puede llevar algún tiempo dependiendo de la velocidad de Internet.
Importante: Si no puede encontrar el paquete en sus repositorios ya agregados, abra el archivo sources.list de la siguiente manera:
$ nano /etc/apt/sources.list
Luego, agregue la siguiente línea para agregar el repositorio del universo principal de rusty-security desde donde instalaremos la utilidad mailx.
deb http://security.ubuntu.com/ubuntu trusty-security universo principal
Además, no olvide ejecutar el siguiente comando antes de realizar la instalación:
$ sudo apt-get update
Paso 6:Configurar Mailx
Abra un archivo llamado .mailrc a través de uno de sus editores de texto favoritos.
$ nano ~/.mailrc
Luego, agregue las siguientes líneas en ese archivo y guárdelo.
set sendmail="/usr/bin/msmtp" set message-sendmail-extra-arguments="-a gmail"
Paso 7:envíe un correo electrónico a través de la terminal
Ahora estamos listos para enviar un correo electrónico a través de nuestra cuenta de Gmail configurada a un receptor en cualquier dominio. La siguiente es la sintaxis básica para enviar un correo electrónico de este tipo:
$ mail -s "subject" -a "attachment-if-any" "[email protected]"
Enviar un archivo adjunto junto con el correo electrónico es opcional.
Usé el siguiente comando para enviar un correo electrónico:
Al presionar Enter, se le permitirá ingresar el cuerpo del correo electrónico. Una vez que haya terminado de ingresar el cuerpo del correo electrónico, presione Ctrl + D. Esto marcará el final del cuerpo del correo electrónico y lo enviará a la ID del destinatario respectivo.
El EOT al final de la salida indicará que su correo electrónico ha sido enviado.
Sin embargo, es posible que encuentre el error más común , igual que hice yo:
Este error se encuentra principalmente cuando no ha permitido el acceso a aplicaciones menos seguras en su gmail. Esta configuración de seguridad se puede cambiar a través del siguiente enlace:
https://micuenta.google.com/lesssecureapps
Cuando lo haga, se le enviará una notificación (principalmente en su teléfono, cuando haya configurado su número de teléfono con gmail). Cuando permita este cambio de configuración, Gmail permitirá el acceso a aplicaciones menos seguras como la que estamos usando.
Intente enviar el correo electrónico nuevamente a través de la CLI y su correo electrónico se enviará con éxito al destinatario desde su ID de Gmail.
Ahora puede incorporar este método en sus scripts bash para que sea más útil y ahorre tiempo y ancho de banda.