Email
SSMTP:如何發送帶有正文和附件的電子郵件
我目前正在使用以下命令從我的 Ubuntu 伺服器發送電子郵件,我改編自這個問題的答案:https ://unix.stackexchange.com/a/90881/166614
printf "subject: the subject\n\nMessage body"| (cat - && uuencode "$attach" $(basename "$attach")) | ssmtp <email>
到目前為止,我唯一的問題是上面的命令創建了兩個附件,由 $attach 變數指示的文件和一個文本文件組成,該文件包含應該是郵件正文的內容,名稱似乎是隨機數。如果我刪除該
(cat - && uuencode "$attach" $(basename "$attach"))
命令,則電子郵件具有應有的正文,但(顯然)沒有附件。相反,如果我刪除正文,則文本文件附件不存在。有誰知道我如何通過 SSMTP 發送帶有正文和附件的電子郵件?
我最終決定用它
mpack
來完成這個任務。雖然這不能回答我提出的確切問題,但我認為mpack
提供了一種發送電子郵件的簡單方法,而無需安裝具有您可能不需要的功能的電子郵件客戶端。也就是說,如果有人可以回答確切的問題,歡迎他們發布。這是我現在用來從命令行發送帶有正文和附件的電子郵件的命令:
attachment=/location/of/attachment printf "Body text here." | mpack -a -s "Subject here" -d /dev/stdin -m 0 -c $(file -b --mime-type $attachment) "$attachment" <email address>
這是如何做到的:
sudo apt-get update sudo apt-get install mpack mpack -s "Subject line" -d body.txt attachment.png abd@def.com
再簡單不過了。
如果您喜歡較短的命令行,可以將主題行放入正文文件中,如下所示:
message.txt 內容:
SUBJECT: P&L Chart for board meeting this Tuesday (blank line is required here) Hello Mr. Jarvis, blah, blah, blah
命令行:
mpack -d message.txt plchart.jpg jarvis@company.com