Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

¿Cómo se puede enviar un email con archivos adjuntos desde la línea de comandos de Linux?

20 de agosto de 2011

He creado un script que se ejecuta cada noche en mi servidor Linux para hacer una copia de seguridad de mis bases de datos mediante el comando mysqldump. Luego combino y comprimo todos los archivos .sql de cada base de datos en un gran archivo comprimido .tar.

Lo que me gustaría ahora es poder enviar este archivo comprimido como adjunto de un email para así tener otra copia de ese backup. Si ejecuto lo siguiente:

$ cat backup_de_mysql.sql | mailx [email protected]

El problema es que el comando cat hace un echo del contenido del archivo y va a parar directamente como contenido del comando mailx. Pero yo no quiero que el archivo .sql sea el contenido del email. Lo que quiero es enviar ese archivo como adjunto del email. ¿Existe alguna manera de conseguirlo?

Estás leyendo una traducción autorizada de la pregunta How do I send a file as an email attachment using Linux command line? planteada por Kit Roed en StackOverflow.

Respuestas

#1

Para enviar el archivo como adjunto, utiliza el comando mutt:

echo "Este es el contenido del mensaje" | mutt -a "/ruta/hasta/el/archivo_backup_mysql.tar" -s "Asunto del email" -- [email protected]

@librosweb

8 octubre 2014, 10:36