2015-11-02 128 views
0

我明白髮送HTML消息attachement(.PDF)我怎麼可以發送HTML消息sendmail做:從殼牌

(
echo "From: [email protected]"; 
echo "To: [email protected]"; 
echo "Subject: this is my subject"; 
echo "Content-Type: text/html"; 
echo "MIME-Version: 1.0"; 
echo ""; 
echo "My <b>HTML message<\b> goes here!"; 
) | sendmail -t 

我還管理與mail

uuencode file.pdf file.pdf | mail -s "my subject" [email protected] 
發送一個附件

但我未能發送帶附件的HTML郵件(.pdf)。

注意,我無法安裝muttmpack(使用自制)到目前爲止我很樂意與mailmailxsendmail有效的解決方案。我在Mac OS X 10.11上

+1

可能重複的[Bash:發送HTML與附加文件?](http://stackoverflow.com/questions/10479340/bash-sending-html-with-an-attached-file) – tripleee

+0

我的問題確實是一個重複。我正在投票結束。謝謝! –

回答

1

你需要做的是使用多部分MIME。

您的Content-Type應該是這樣的:

Content-Type: multipart/mixed; boundary=multipart-boundary 

你多,邊界可以是任何你喜歡的字符串。 然後,您輸出一行「--multipart-boundary」後跟標題,然後輸出每個零件的正文。

例如:

--multipart-boundary 
Content-Type: text/html 

My <b>HTML message<\b> goes here! 
--multipart-boundary 
Content-Type: application/pdf 
Content-Disposition: attachment; filename=file.pdf 
Content-Transfer-Encoding: base64 

**貓您的base64編碼的文件在這裏**

--multipart-boundary-- 

末額外的兩個破折號標誌着最後部分的結束。您可以根據需要添加儘可能多的附件。

+0

雖然你的答案在技術上是正確的,但是讓OP僅使用shell腳本將正確的MIME消息拼湊在一起可能不是一種好的方法。嘗試http://stackoverflow.com/questions/28954692/mail-command-from-bash-script-not-sending-attachment-when-using-uuencode-mail代替。 – tripleee

+0

感謝您的回答。我會遵循[this](http://stackoverflow.com/questions/10479340/bash-sending-html-with-an-attached-file)解決方案,因爲它更容易。 –