Mientras trabajas con la línea de comandos, hay ocasiones en las que puedes querer enviar manualmente un correo electrónico para comunicar una información de una sola línea, indicar un comando complejo o una nota importante a ti mismo o a un amigo. Por lo general, esto requiere que abras un navegador web, inicies sesión en tu cuenta de correo electrónico, enmarques un correo electrónico que incluya la información requerida, y después lo envíes.

Es un proceso demasiado largo para una pequeña cosa, ¿no? ¿Y si pudieras hacerlo desde la propia línea de comandos? Sí, es posible, y de hecho ya hemos repasado un par de métodos para hacerlo en Linux. En este artículo, hablaremos de 3 métodos más para enviar correo electrónico desde la línea de comandos en Linux.

Sendmail

Sendmail, como puedes entender, es el clásico servidor SMTP del mundo de UNIX. Generalmente viene preinstalado en numerosas circulaciones de Linux, sin embargo si ese no es el caso de tu caja de Linux, puedes instalarlo fácilmente desde repositorios básicos. Por ejemplo, los usuarios de sistemas basados en Debian, como Ubuntu, pueden descargarlo e instalarlo mediante el siguiente comando

sudoapt-get install mailutils

Una vez configurado, puedes enviar un correo electrónico de forma rápida y ágil utilizando el comando sendmail. He aquí un ejemplo:

echo” Este es un correo de prueba una vez más”|sendmail [receivers-email-address]

El comando anterior envía un correo electrónico que incluye el texto “Este es un correo de prueba una vez más” a” [dirección de correo electrónico del receptor] (asegúrese de cambiarlo, formado por los paréntesis, con la dirección de correo electrónico real del receptor].

Cuando utilicé mi dirección de correo electrónico en el comando anterior, obtuve el siguiente correo electrónico:

sendmail-email

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

El comando que acabamos de utilizar consiste sólo en el cuerpo del correo electrónico. También puede añadir más información, como el asunto, el remitente, etc. Por ejemplo, el siguiente comando contiene estos campos extra, y puede ser ejecutado como un script:

echo” De: me@xyz.comTo: himanshuz.chd@gmail.comSubject: Correo electrónico HTML de pruebaEste es un correo electrónico de prueba” |sendmail-t

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

sendmail-email-script

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 cambiar” [dirección de correo electrónico del remitente] y” [dirección de correo electrónico del destinatario] con la dirección de correo electrónico del remitente y del destinatario, respectivamente):

telnet localhost smtpehlo gmail.commail from: [remitentes-dirección de correo electrónico] rcpt to: [dirección de correo electrónico del destinatario] data

En este punto, debe ver un aviso en el que debe entrar en el cuerpo del correo electrónico y asegurarse de que el mensaje termina con una nueva línea seguida de un punto (.). Tan pronto como se hace, pulse ir en para enviar el correo electrónico, y después de que el tipo se dio por vencido para salir de la aplicación.

En mi caso, recibí el siguiente correo electrónico:

telnet-email

Ssmtp

SSMTP es una herramienta que entrega el correo electrónico desde un sistema informático regional a un mailhost configurado (mailhub). Los usuarios de Debian pueden descargar e instalar el programa utilizando el siguiente comando:

sudoapt-get set up ssmtp

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

mailhub= smtp.gmail.com:587 UseSTARTTLS= YESAuthUser= [dirección de correo del remitente] AuthPass= [contraseña de acceso al correo del remitente] TLS_CA_File=/ etc/pki/tls/ certs/ca-bundle. crt

Como siempre, asegúrese de cambiar” [dirección de correo electrónico del remitente] y” [senders-email-login-password] con los valores adecuados. Ahora, para enviar un correo electrónico utilizando ssmtp, utilice el siguiente comando:

ssmtp [dirección de correo electrónico del destinatario] Tema: [asunto-aquí] [cuerpo del correo electrónico]

De nuevo, sustituya” [dirección de correo electrónico del destinatario],” [línea de asunto aquí], y” [Cuerpo del correo electrónico] con los valores adecuados 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 bk8sm8525341pad.28 – gsmtp)

lo más probable es que se deba a que Gmail no está tratando a ssmtp como una aplicación protegida. Para deshacerse de este error, es necesario alterar una configuración específica en su cuenta de Gmail – para aprender más sobre cómo hacerlo, y sus posibles peligros, consulte esta página de asistencia de Google.

Cuando llevé a cabo el comando anterior, recibí el siguiente correo electrónico:

ssmtp-email

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 esencial que vale la pena señalar aquí es que aparte de utilizar estos comandos para enviar correos electrónicos manualmente desde la línea de comandos, también puede utilizarlos para producir correos electrónicos de alerta desde los scripts.