Como enviar un email desde la terminal con swaks

como enviar un email desde la termina o desde un script bash con swaksEnviar un email es algo que puede ser trivial pero hay ocasiones que necesitamos enviar información, datos o algún aviso importante y solo hay disponible un servidor linux sin interfaz gráfica con una terminal. Bueno incluso en estas condiciones es posible enviar un email desde la terminal alguna cuenta de tus cuentas de email incluso si la configuración de esa cuenta requiere cifrado. Esto te permitirá poder enviar ese mensaje importante a alguien o enviar un e-mail desde algún script para advertir que algo ha sucedido en tu servidor. Bueno aquí te digo como puedes enviar ese correo desde la linea de comandos.

Como enviar un email desde la terminal con swaks

Lo primero que tienes que saber es que necesariamente no necesitas instalar un servidor de email o algo así, solamente necesitas algun software que está disponible en casi cualquier distro linux. Esta herramienta se llama Swiss Army Knife for SMTP o swaks.

Swaks es un software diseñado para probar y auditar comunicaciones mediante el protocolo SMTP y que entre esas pruebas permite enviar un correo que es lo que nos interesa.

Lo primero que tenemos que hacer es tener este software instalado en nuestro servidor y para hacerlo podemos ejecutar alguno de los siguiente comando dependiendo de la distribución que estemos utilizando:

Debian (con permisos de root)

apt-get install swaks

Ubuntu y derivadas

sudo apt-get install swaks

Fedora / CentOS / RHEL

yum install swaks

Ahora lo que tienes que hacer es poner el comando con el que enviarás un correo utilizando swaks y que parece que es complicado pero que si pones atención solo es poner todo lo que pones en un correo común y corriente pero usando un comando algo largo.

Para describir como usar este comando voy a usar un ejemplo con una cuenta que utiliza cifrado TLS por el puerto 587,

swaks --to "alguna_cuenta@gmail.com" --from "tu_cuenta@tu_dominio.com" --server "tu_dominio.com:587" --auth LOGIN --auth-user "tu_cuenta@tu_dominio.com" --auth-password "tu_password" -tls

Este comando enviará un correo de prueba que podrás ver en tu bandeja de entrada se verá como esto:

Subject:  test Tue, 12 May 2015 16:21:37 -0500
Message:

This is a test mailing

Si quieres enviar algo mas personalizado y descriptivo puedes agregar este otro parámetro en el que puedes enviar el título y el mensaje que desees:

--data "Date: %DATE%\nTo: %TO_ADDRESS%\nFrom: %FROM_ADDRESS%\nSubject: Titulo par tu email %DATE%\nX-Mailer: swaks v$p_versionjetmore.org/john/code/swaks/\n%NEW_HEADERS%\n Mensaje que quieran enviar en tu correo \n"

Si tu servidor smtp no usar cifrado tls puedes eliminar el puesto 587 y se utilizará el 25 por defecto, también debes quitar el parámetro -tls del comando para que no se utilice el cifrado. El comando se vería así:

swaks --to "alguna_cuenta@gmail.com" --from "tu_cuenta@tu_dominio.com" --server "tu_dominio.com" --auth LOGIN --auth-user "tu_cuenta@tu_dominio.com" --auth-password "tu_password"

Es claro que esto no puedes escribir todo esto en una termina a la primera y sin equivocarte, pero puedes crear un pequeño script bash para hacerlo mas fácil.

 

Lo que creo importante es saber que existe una forma de enviar un email desde la terminal o que se puedes configurar a un script bash para que cuando algo ocurra en tu servidor recibas un aviso mediante un correo.

Tu Servidor y Amigo

Luis Armando Medina

Sígueme en Twitter: @larmedina
Sígueme en Facebook: dame un like LuisMedinaMLM

Referencias: http://www.jetmore.org/john/code/swaks/

This entry was posted in Centos and tagged , , , , . Bookmark the permalink.

4 Responses to "Como enviar un email desde la terminal con swaks"

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*