从Shell发送带有附件(.pdf)的HTML消息

时间:2015-11-02 03:58:12

标签: shell email attachment

我了解如何发送带有sendmail的HTML消息:

(
echo "From: me@example.com";
echo "To: you@example.com";
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" you@example.com

但是我无法发送带有附件(.pdf)的HTML消息。

请注意,到目前为止,我无法安装muttmpack(使用自制程序),所以我希望找到一个适用于mailmailx或{{1}的解决方案}}。我在Mac OS X 10.11上

1 个答案:

答案 0 :(得分:1)

您需要做的是使用multipart mime。

您的内容类型应该是:

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

**在这里cat你的base64编码文件**

--multipart-boundary--

末尾的额外两个破折号标志着最后一部分的结尾。您可以根据需要添加任意数量的附件。