2013-07-01 1 views
1

Je dois envoyer un mail d'unix à un client mutt. J'ai essayé d'envoyer un mail avec le corps html:Comment puis-je envoyer un mail d'un client mutt unix avec à la fois html et body en html?

Mutt -e "my_hdr Content-Type: text/html" $ USEREMAIL de "Workflow - Query Execution sur la scène: STGUPPER de $" < $ htmlResultFile

TRAVAUX .

essayé d'envoyer un mail avec pièce jointe HTML:

Mutt -e "my_hdr Content-Type: text/html" -a $ htmlResultFile -s "pièce jointe" $ USEREMAIL

TRAVAUX!

Mais lorsque je tente d'envoyer un mail avec le corps html et html attachemnt, je ne suis pas en mesure de le faire ..

Mutt de "set Content-Type: text/html" de USEREMAIL de $ - a $ htmlResultFile -s "pièce jointe" < $ htmlResultFile

Je reçois le code HTML en tant qu'objectif, mais le corps en texte brut.

Répondre

2

Je suppose que vous devrez fabriquer le corps vous-même. Notez que le type content_type d'un corps mixte est multipart/alternative

J'ai trouvé cette question intéressante. Voici mon avis sur la question:

#!/bin/sh 
# using mutt, send a mixed multipart text and html message: 

usage() { 
    echo "error: $1" 
    echo "usage: $(basename $0) -t textfile -h htmlfile -s subject -r recipient" 
    exit 1 
} 

textfile="" 
htmlfile="" 
subject="" 
recipient="" 

while getopts "t:h:s:r:" opt; do 
    case $opt in 
     t) textfile="$OPTARG" ;; 
     h) htmlfile="$OPTARG" ;; 
     s) subject="$OPTARG" ;; 
     r) recipient="$OPTARG" ;; 
     ?) usage "invalid option: -$OPTARG" ;; 
    esac 
done 
shift $((OPTIND-1)) 

[ -z "$textfile" ] && usage "no textfile specified" 
[ -z "$htmlfile" ] && usage "no htmlfile specified" 
[ -z "$recipient" ] && usage "no recipient specified" 
[ ! -f "$textfile" ] && usage "no such file: $textfile" 
[ ! -f "$htmlfile" ] && usage "no such file: $htmlfile" 

boundary=$(openssl rand -hex 24) 
content_type="Content-type: multipart/alternative; boundary=$boundary" 

## 
body=$(cat - << END 

--$boundary 
Content-Type: text/plain; charset=ISO-8859-1 

$(cat "$textfile") 

--$boundary 
Content-Type: text/html; charset=ISO-8859-1 

$(cat "$htmlfile") 

--$boundary 
END 
) 
## 

echo "$body" | mutt -e "myhdr $content_type" -s "$subject" "$recipient"