10 – sendemail (Correo 03)

Bienvenidos a este décimo episodio de deployando.me, el podcast de tecnología para sysadmins y devops. Soy Rodolfo Pilas y estoy grabando el 9 de febrero de 2017.

Nuevamente estoy grabando con sonido ambiente, porque no me encuentro en mi casa, así que como la vez anterior vine a un lugar agradable y aquí estoy, disfrutando de un té helado, mientras grabo este podcast.

Quiero agradecer a todos los que han retuiteado los mensajes que semana a semana voy enviando para recordar la edición de cada podcast. Gracias a esos seguidores que son de fierro, este podcast se hace cada vez más conocido.   También un especial agradecimiento a los que nos recomiendan generalmente se me acerca alguien y me dice te estoy escuchando porque fulano del tal me recomendó; esa recomendación entre colegas es siempre muy útil la aprecio mucho así que también un agradecimiento especial.

Les pido que sigan dejando sus comentarios, pues son los que terminan enriqueciendo este podcast. No tengo verdades únicas, generalmente lo que hago es deployar lo que me ha servido y ha sido mi experiencia, por lo tanto sus comentarios lo que hacen es abrir el espectro de lo que puedo compartir con Ustedes.

En los dos episodios últimos hablamos de como sacar el correo que se genera en nuestros servidores, para que llegue aun lugar donde sea leído.  En particular, hablamos de dos herramientas que son nullmailer y ssmtp. En este podcast lo que hago es traer el principio: como hago para generar el correo en mis scripts.

Si hace rato que están en esto de Unix y Linux seguramente están usando mail o han usado mail.  Fue con lo que aprendí, me enseñaron que mail era el comando para generar los correos.

Sabemos que tenemos dos implementaciones en Linux que podemos utilizar la de BSD: el comando mail de BSD  o el comando mail del Proyecto GNU, que viene en el paquete GNU mailutils. Cualquiera de los dos hace lo mismo que les voy a contar aquí. Posiblemente algunos de Uds. siguen usando mail, tal vez usan otra cosa y yo soy de los que usa otra cosa y eso es lo que vengo a decir, sobre una utilidad llamada SendEmail.

SendEmail es un cliente de correo para utilizar en la linea de comando, que es muy liviano.

Fue diseñado para ser utilizado en scrips de bash, programas Perl y sitios web.

SendEmail está escrito en Perl y es monolítico, es decir que no tiene dependencias de módulos especiales de Perl, para poder funcionar.

Su linea de comando es sencilla: Para ejecutarlo requiere es el FROM, el TO y el cuerpo del correo, éste al igual que el comando mail puede venir por stdin o puede ser un archivo que se le pasa por parámetro.

Si escribimos sendemail en la línea de comando y damos enter se despliega la ayuda de cómo se usa.

Una ventaja fundamental sobre el tradicional comando mail, es que con el parámetro -a se puede adjuntar un archivo, o sea que sendemail crerá automáticamente un correo de formato multi-part en formato MIME para incluir el archivo adjunto.

Esta tarea con el comando mail se puede hacer, pero no es tan trivial pues hay que utilizar algunos pipe y comandos extras, mientras que con sendemail es poner -a y el nombre del archivo.

Cuando se ejecuta por línea de comando tiene una salida a pantalla de su ejecución, que fácilmente se puede enviar a un archivo de log con -l.   Util para trabajar con el cron y poder ver que ha pasado.

Si lo vas a usar con nullmailer o ssmtp requiere el parámetro -S  para decirle que utilice sendmail en lugar de tratar de hacer una conexión al puerto 25 de localhost donde espera tener un servidor de correo para entregar el correo.

Sendemail no es una herramienta “killer” hay otras que se pueden encontrar rápidamente revisando al lista de paquetes, pero me ha simplificado mucho la generación de correo desde mis scripts de automatización.

Los invito a que me escriban contándome cómo hacen Uds., si siguen usando correo electrónico para notificaciones, o si directamente usan un canal de chat o notificaciones push a sus móviles.

Soy Rodolfo Pilas, en twitter me siguen por @pilasguru y les dejo un saludo a todos, confiando en que este podcast les haya aportado para mejorar y, como siempre, espero sus inquietudes y sugerencias comentando en deployando.me

Hasta la próxima edición.

Referencias: