Es un proceso demasiado largo para una cosa pequeña, ¿no? ¿Y si pudieras hacerlo desde la propia línea de comandos? Sí, es posible, y hemos ya hemos discutido un par de formas de hacerlo en Linux. En este artículo, discutiremos tres maneras más de enviar correo electrónico desde la línea de comandos en Linux.
Sendmail
Sendmail, como ya sabrás, es el clásico servidor SMTP del mundo de UNIX. Normalmente viene preinstalado en muchas distribuciones de Linux, pero si ese no es el caso de su máquina Linux, puede instalarlo fácilmente desde repositorios estándar. Por ejemplo, los usuarios de sistemas basados en Debian, como Ubuntu, pueden descargarlo e instalarlo usando el siguiente comando:
sudo apt-get install mailutils
Una vez instalado, puede enviar un correo electrónico de forma fácil y rápida utilizando el comando sendmail. Aquí hay un ejemplo:
echo "Este es un email de prueba de nuevo"| sendmail[receptores-dirección de email]
El comando anterior envía un correo electrónico con el texto «This is a test email again» a «[receivers-email-address]» (asegúrese de reemplazarlo, incluyendo 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:
Como en mi caso, el correo electrónico podría aterrizar en tu carpeta de spam, así que asegúrate de comprobarlo.
El comando que acabamos de usar contenía sólo el cuerpo del correo electrónico. También puede agregar más detalles como asunto, desde, y más. Por ejemplo, el siguiente comando contiene estos campos adicionales y puede ejecutarse como un script:
echo "De: me@xyz.com Para: himanshuz.chd@gmail.com Sujeto: Probar correo electrónico HTML Este es un email de prueba."| sendmail -t
Aquí está la instantánea del correo electrónico que recibí cuando se ejecutó el comando anterior:
Telnet
También puede utilizar el comando Telnet para enviar un correo electrónico desde la línea de comandos. Para ello, ejecute los siguientes comandos (asegúrese de sustituir «[remitente-dirección de correo electrónico]» y «[destinatario-dirección de correo electrónico]» por la dirección de correo electrónico del remitente y del destinatario, respectivamente):
telnet localhost smtp ehlo gmail.com correo de:[remitentes-dirección de correo electrónico] rcpt to: [receptores-dirección de correo electrónico] datos
>
En este punto, debería ver un aviso en el que debe introducir el cuerpo del correo electrónico y asegurarse de que el mensaje termina con una nueva línea seguida de un punto (..). Una vez hecho esto, presione enter para enviar el correo electrónico, y luego escriba «salir» para salir de la aplicación.
En mi caso, recibí el siguiente correo electrónico:
Ssmtp
SSMTP es una herramienta que entrega correo electrónico desde un ordenador local a un mailhost 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 archivo /etc/ssmtp/ssmtp.conf y edítelo para asegurarse de que contiene la siguiente información:
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES
AuthUser=[remitente-email-dirección]
AuthPass=[remitentes-email-login-contraseña]
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
Como siempre, asegúrese de reemplazar «[remitentes-dirección-de-email]» y «[remitentes-dirección-de-email-contraseña]» por los valores apropiados. Ahora, para enviar un correo electrónico usando ssmtp, use el siguiente comando:
ssmtp[receptores-dirección de correo electrónico] Sujeto: [línea de asunto-aquí] Cuerpo del correo electrónico]
>[Cuerpo del mensaje]
Una vez más, reemplace «[receptor-dirección de correo electrónico]», «[asunto-línea-aquí]», y «[cuerpo del correo electrónico]» con los valores apropiados y envíe el correo electrónico pulsando «Ctrl + D.».
Si recibe el siguiente error,
ssmtp: Autorización fallida (534 5.7.9 http://support.google.com/accounts/bin/answer.py?answer=185833 bk8sm852534341pad.28 – gsmtp)
es probable que sea así porque Gmail no está tratando a ssmtp como una aplicación segura. Para eliminar este error, debes cambiar una configuración concreta de tu cuenta de Gmail. Para obtener más información sobre cómo hacerlo y sus posibles riesgos, consulta esta página Página de asistencia de Google .
Cuando ejecuté el comando anterior, recibí el siguiente correo electrónico:
Conclusión
Con esto, hemos discutido un total de 5 herramientas de línea de comandos que puede utilizar 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 a partir de scripts.
¿Ha usado alguna vez alguna de estas herramientas? ¿Cómo fue tu experiencia? Comparta sus ideas en los comentarios que aparecen a continuación.