2013-07-01 2 views
1

Мне нужно отправить письмо от клиента unix thru mutt. Я попытался отправки почты с HTML тела:Как отправить почту от клиента unix mutt с помощью html и body в html?

собачонка -e "my_hdr Content-Type: Текст/HTML" $ USEREMAIL -s "Workflow - Запрос Исполнение на сцене: $ STGUPPER" < $ htmlResultFile

ПРОИЗВЕДЕНИЙ ,

Пытался отправить письмо с вложением HTML:

собачонка -e "my_hdr Content-Type: Текст/HTML" -a $ htmlResultFile -s "прикрепление" $ USEREMAIL

РАБОТУ!

Но когда я пытаюсь отправить почту с как HTML и тела HTML attachemnt, я не в состоянии сделать это ..

Mutt -E "установить Content-Type: текст/html" $ USEREMAIL - a $ htmlResultFile -s "attachment" < $ htmlResultFile

Я получаю html как attchment, но тело как обычный текст.

ответ

2

Я подозреваю, что вам придется самостоятельно изготовить тело. Обратите внимание, что content_type смешанного тела multipart/alternative

Этот вопрос мне интересен. Вот мой взгляд на него:

#!/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" 
0

мне не удалось отправить комбинированный простой текст & HTML в собачонка. Таким образом, я закончил работу с электронной почтой вручную и трубопроводом до sendmail -t.

Пример: https://github.com/kaihendry/sg-hackandtell/blob/master/list/maillist

Это должно дать лучшие результаты, чем justing отправки HTML электронной почты.