【问题标题】:Send HTML message with attachement (.pdf) from Shell从 Shell 发送带有附件 (.pdf) 的 HTML 消息
【发布时间】:2015-11-02 12:24:26
【问题描述】:

我知道如何使用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 上

【问题讨论】:

标签: shell email attachment


【解决方案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--

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

【讨论】:

  • 虽然您的回答在技术上是正确的,但让 OP 仅使用 shell 脚本拼凑正确的 MIME 消息可能不是可行的方法。尝试例如stackoverflow.com/questions/28954692/… 代替。
  • 感谢您的回答。我将遵循this 解决方案,因为它更容易。
猜你喜欢
  • 2015-10-16
  • 1970-01-01
  • 2012-01-08
  • 1970-01-01
  • 2015-12-10
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多