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

Send HTML message with attachement (.pdf) from Shell

我了解如何通过 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(使用自制软件),因此我希望有一个适用于 mailmailxsendmail。我在 Mac OS X 10.11

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

你的 Content-Type 应该是这样的:

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

您的 multipart-boundary 可以是您喜欢的任何字符串。 然后你输出一行“--multipart-boundary”,然后是headers,然后是每个部分的body。

例如:

--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--

末尾多出的两条破折号标志着最后一部分的结束。您可以添加任意数量的附件。