3 formas de enviar correos electrónicos desde la línea de comandos en Linux

3 formas de enviar correos electrónicos desde la línea de comandos en Linux

Logotipo de GmailMientras trabaja con la línea de comandos, hay momentos en los que puede querer enviar manualmente un correo electrónico para comunicar información de una sola línea, decir un comando complejo o una nota importante para usted o un amigo. Normalmente, eso requiere que abra un navegador web, inicie sesión en su cuenta de correo electrónico, enmarque un correo electrónico que contenga la información requerida y luego envíelo.

Es un proceso demasiado largo para una cosa pequeña, ¿no? ¿Qué pasaría si pudieras hacer eso desde la propia línea de comandos? Sí, es posible, y ya hemos discutido un par de formas de hacerlo en Linux. En este artículo, discutiremos tres formas más de enviar correos electrónicos desde la línea de comandos en Linux.

Enviar correo

Sendmail, como sabrás, es el servidor SMTP clásico del mundo de UNIX. Por lo general, viene preinstalado en muchas distribuciones de Linux, pero si ese no es el caso con su caja de Linux, puede instalarlo fácilmente desde repositorios estándar. Por ejemplo, los usuarios de sistemas basados ​​en Debian, como Ubuntu, pueden descargarlo e instalarlo con el siguiente comando:

sudo apt-get install mailutils

Una vez instalado, puede enviar un correo electrónico fácil y rápidamente usando el sendmail dominio. Aquí hay un ejemplo:

echo "This is a test email again"| sendmail [receivers-email-address]

El comando anterior envía un correo electrónico que contiene el texto «Este es un correo electrónico de prueba nuevamente» a «[receivers-email-address]” (asegúrese de reemplazarlo, incluidos los corchetes, con la dirección de correo electrónico real del destinatario].

Cuando usé mi dirección de correo electrónico en el comando anterior, recibí el siguiente correo electrónico:

enviarcorreo-email

Como en mi caso, el correo electrónico podría aterrizar en su carpeta de correo no deseado, así que asegúrese de verificar allí.

El comando que acabamos de usar contenía solo el cuerpo del correo electrónico. También puede agregar más detalles como asunto, origen y más. Por ejemplo, el siguiente comando contiene estos campos adicionales y se puede ejecutar como un script:

echo "From: me@xyz.com
To: himanshuz.chd@gmail.com
Subject: Test HTML e-mail
This is a test email."| sendmail -t

Aquí está la instantánea del correo electrónico que recibí cuando se ejecutó el comando anterior:

sendmail-correo-script

Telnet

También puede usar el comando Telnet para enviar un correo electrónico desde la línea de comandos. Para hacerlo, ejecute los siguientes comandos (asegúrese de reemplazar «[senders-email-address]» y «[receivers-email-address]” con la dirección de correo electrónico del remitente y del destinatario, respectivamente):

telnet localhost smtp
ehlo gmail.com
mail from: [senders-email-address]
rcpt to: [receivers-email-address]
data

En este punto, debería ver un mensaje en el que debe ingresar el cuerpo del correo electrónico y asegurarse de que el mensaje termine con una nueva línea seguida de un punto (.). Una vez hecho esto, presione enter para enviar el correo electrónico y luego escriba quit para salir de la aplicación.

En mi caso, recibí el siguiente correo:

correo electrónico telnet

Ssmtp

SSMTP es una herramienta que envía correos electrónicos desde una computadora local a un host de correo configurado (mailhub). Los usuarios de Debian pueden descargar e instalar el programa usando el siguiente comando:

sudo apt-get install ssmtp

Una vez instalado, abra el /etc/ssmtp/ssmtp.conf y edítelo para asegurarse de que contiene la siguiente información:

mailhub=smtp.gmail.com:587
UseSTARTTLS=YES
AuthUser=[senders-email-address]
AuthPass=[senders-email-login-password]
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt

Como siempre, asegúrese de reemplazar “[senders-email-address]» y «[senders-email-login-password]” con valores apropiados. Ahora, para enviar un correo electrónico usando ssmtpuse el siguiente comando:

ssmtp [receivers-email-address]
Subject: [subject-line-here]
[Body of email]

Nuevamente, reemplace “[receivers-email-address]”, “[subject-line-here]», y «[Body of email]” con los valores apropiados y envíe el correo electrónico presionando “Ctrl + D”.

Si recibe el siguiente error,

ssmtp: Authorization failed (534 5.7.9 https://support.google.com/accounts/bin/answer.py?answer=185833 bk8sm8525341pad.28 - gsmtp)

entonces eso es probable porque Gmail no está tratando ssmtp como una aplicación segura. Para deshacerse de este error, debe cambiar una configuración particular en su cuenta de Gmail; para obtener más información sobre cómo hacerlo y sus riesgos potenciales, consulte esto Página de soporte de Google.

Cuando ejecuté el comando anterior, recibí el siguiente correo electrónico:

correo electrónico ssmtp

Conclusión

Con esto, hemos discutido un total de 5 herramientas de línea de comandos que puede usar para enviar correo electrónico desde la línea de comandos de Linux. Un punto importante que vale la pena mencionar aquí es que además de usar estos comandos para enviar correos electrónicos manualmente desde la línea de comandos, también puede usarlos para generar correos electrónicos de notificación desde scripts.

¿Alguna vez has usado alguna de estas herramientas? ¿Cómo fue tu experiencia? Comparta sus pensamientos en los comentarios a continuación.

Experto Geek - Tu Guía en Tendencias Tecnológicas