Script bash: Enviar mail con archivo adjunto

Script bash: Enviar mail con archivo adjunto.

Hace tiempo vimos como enviar un correo electrónico desde la consola / terminal, en el articulo de hoy creamos un script bash que puede enviar mails con archivos adjuntos o sin ellos.

El script es bastante simple, tan solo tienes que insertar..

  • Correo de destino.
  • Mensaje del mail.
  • Asunto.
  • La url real del archivo que quieras enviar (en caso que quieras enviar un adjunto).
  • Confirmar si el mail envía un archivo adjunto o no (y / n).

Vemos el script bash.

 

Enviar mail con archivo adjunto

Creamos el script.

nano mail.sh

Copia y pega el siguiente código.

#!/bin/bash
#
echo "###############################################################"
echo "#######"                                                         
echo "#       #    # #    # #   ##   #####     #    #   ##   # #"      
echo "#       ##   # #    # #  #  #  #    #    ##  ##  #  #  # #"      
echo "#####   # #  # #    # # #    # #    #    # ## # #    # # #"      
echo "#       #  # # #    # # ###### #####     #    # ###### # #"      
echo "#       #   ##  #  #  # #    # #   #     #    # #    # # #"      
echo "####### #    #   ##   # #    # #    #    #    # #    # # ######"
echo "###############################################################"
##
echo "#"
echo "#"
read -p "#Para : " Para
echo "#"
read -p "#Texto : " Texto
echo "#"
read -p "#Asunto : " Asunto
echo "#"
echo "Especifica la /ruta/file.txt del adjunto o pulsa Enter"
echo -n "Ruta del adjunto : "
read Ruta
##
while true; do
    read -p "Estas seguro de enviar un archivo adjunto? y o n : " yn
    case $yn in
        [Yy]* ) echo $Texto | mutt -s $Asunto $Para -a $Ruta; echo "Enviando correo con adjunto"; exit;;
        [Nn]* ) echo $Texto | mail -s $Asunto $Para; echo "Enviando correo"; exit;;
        * ) echo "La seleccion y o n, es necesaria";;
     esac
done

Guarda el archivo y cierra el editor.

 

Para ejecutar el scrip…

bash mail.sh

Si prefieres puedes concederle permisos para no tener que ejecutarlo como root.

chmod u+x mail.sh

Lo ejecutamos…

./mail.sh

Ejemplo de salida enviando archivo adjunto…

#####################################################
#####################################################
#
#
#Para : demo@midominio.es
#
#Texto : Esto es un mail de prueba con adjunto.
#
#Asunto : Demo script mail
#
Especifica la /ruta/file.txt del adjunto o pulsa Enter
Ruta del adjunto : /home/sergio/Scripts/mail.sh
Estas seguro de enviar un archivo adjunto? y o n : y
Enviando correo con adjunto

 

Ejemplo de salida SIN enviar archivo adjunto…

script mail

 

En Sololinux.es seguimos creciendo gracias a nuestros lectores, puedes colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. 

 

Agregar comentario