Mandando correos con formato HTML desde Bash en Solaris.

Supongamos que deseamos enviar un correo desde Bash con formato HTML y estamos en condiciones adversas sin muchos medios y nos las tenemos que arreglar a pura maña para enviar un correo con un adjunto.

#Lo primero que hacemos es revisar que este exista

if [ -s "diferencias.txt" ] #Nos fijamos que exista
then
	echo "mail con mensaje de lleno" # mensaje

	_msg410=""
	_msg420="

Texto de cabecera
" _msg430="

bla bla bla bla

" _msg440=" " _msg450=" " #MIME tiene un limite de 990 caracteres por linea, esten atentos! _msg460="
titulo campo 1 titulo campo 2 ...
" _msg470=`cat diferencias.txt #El archivo con los datos en html _msg480="
" _msg41=$_msg410$_msg420$_msg430$_msg440$_msg450$_msg460$_msg470$_msg480 #armo un chorizo echo $_msg41 >outm.tmp #guardo todo en un temporal sed -e $'s/ ---- /\\\n/g' outm.tmp > outm.html # mi marca de corte de linea es "----" para no pasarme de 990 caracteres #armo el mail en mime ( echo "From: remitente@daf.com.ar " #remitente echo "To: diego@daf.com.ar,otro@daf.com.ar " #destinatarios echo "MIME-Version: 1.0" #version de mime a usar echo 'Content-Type: multipart/mixed; boundary="-q1w2e3r4t5by3503"' #muy importante para marcar que van varias cosas echo "---q1w2e3r4t5by3503" #el separador de partes echo "Content-Type: text/html" #el body del mail es html echo "Content-Disposition: inline" #que se muestre echo "" cat outm.html #el texto completo del body echo "---q1w2e3r4t5by3503" #fin del body, otra parte echo "Content-Transfer-Encoding: base64" #le aviso que lo siguiente es un adjunto en base64 echo "Content-Disposition: attachment; filename=diferencias.txt" uuencode -m diferencias.txt diferencias.txt; #clavo el adjunto echo "---q1w2e3r4t5by3503--" #fin del ajunto ) | mailx -t -s "Diferencias en la categoría de Prestadores / Contratos" # lo envio con un lindo asunto fi