RSS2.0

Enviar un mail con adjunto desde la consola

martes, 5 de febrero de 2008

Escribiendo uno que otro script para monitorear la actividad de un servicio dentro de un servidor (y siguiendo el principio de mi amigo Fabián: "Todo se puede hacer con un script!"), tuve la necesidad de que al final de la ejecución del mismo se enviara un mensaje de correo electrónico a una cuenta específica. Esta es una tarea normal y sencilla utilizando el comando mail, pero en esta ocasión necesitaba que el correo enviara un archivo adjunto, más especificamente una bitácora del sistema.

Así que buscando en la Enciclopedia Galáctica (como mi jefe le dice a San Google!) encontré la forma de hacerlo con un comando llamado mutt.


Procedimiento


Instale mutt, este procedimiento es diferente según su distribución:

# apt-get install mutt / yum install mutt / urpmi mutt / ....

Luego de instalar el paquete simplemente use mutt con la siguiente sintaxis:

$ mutt -s "Reporte" -a syslog.tar.gz admin@dominio.com < /home/admin/mensaje.txt

Donde:

  • "Reporte": es el asunto del mensaje, recuerde poner la opción -s antes del mismo
  • syslog.tar.gz: es el adjunto, en este caso es un log del sistema. Al igual que en la anterior recuerde anteponer la opción -a
  • admin@dominio.com: es la dirección de correo del destinatario
  • /home/admin/mensaje.txt: cuerpo del mensaje (texto del correo)
Si quiere evitar la parte de escribir el cuerpo del mensaje en otro archivo, hágalo usando solo una línea:

$ echo 'El archivo adjunto contiene la bitácora del Sistema' | mutt -s "Reporte" -a syslog.tar.gz admin@dominio.com


Enlace a Shelldorado donde muestran diferentes formas de enviar un correo con un adjunto desde la consola aquí.

3 comments:

jpromerobx dijo...

Que hubo Miguel !

Buen artículo. Muy útil en labores administrativas referentes a la actividad del sistema y un buen complemento para servicios como syslogd que no soportan en forma nativa el envio de correo electrónico.

Un Saludo.

fede dijo...
Este comentario ha sido eliminado por el autor.
fede dijo...

Gracias por la info Miguel Abngel:D

en el 2º comando, el documento adjunto(si lo hay claro) debe estar despues del email de destino pues sino lo toma como un 2º adjunto y da error:
echo 'mens' | mutt a@b.com -s 'asunto' -a fich

my stuff

Get Songbird I Power Blogger Gnome Last.fm Linux.org