【问题标题】:sendmail with zip is corrupting first file in the zip带有 zip 的 sendmail 正在破坏 zip 中的第一个文件
【发布时间】:2018-10-20 17:22:37
【问题描述】:

我正在尝试从 unix 盒子发送带有 zip 文件的邮件。我仅限于使用 sendmail 实用程序。我使用命令压缩文件

zip test.zip 1.html 2.html 3.html

当尝试使用以下命令发送邮件时。三个文件之一(第一个文件)未正确打开。但其余 2.html 和 3.html 工作正常。 我收到错误为“不可用数据:1.html”

(
echo "From: from@from.com"
echo "To: to@to.com"
echo "Subject: subject"
echo "Mime-Version: 1.0"
echo 'Content-Type: multipart/mixed; boundary="X12345"'
echo '--X12345'
echo "Content-Type: application/zip;"
echo "Content-Transfer-Encoding: base64"
echo "Content-Disposition: attachement; filename=test.zip"
base64  test.zip
echo '--X12345'
) | sendmail -t

请帮忙。提前致谢。

【问题讨论】:

  • 我怀疑它会导致您的问题,但您在 Content-Disposition 标题中拼错了“附件”。查看规范,您可能还需要在 base64 数据开始之前有一个空行,但我不是专家,如果 zip 文件本身可以正常到达,我怀疑它会导致您的问题。 (发之前肯定能把test.zip解压到本地成功吗?)
  • 成功了。感谢您在 base64 帮助之前添加空行的快速帮助。
  • 另外.. 它确实适用于拼写错误的单词。

标签: unix sendmail mime rhel


【解决方案1】:

您未能提供空行来标记主标题的结尾和 MIME 部分标题的结尾。

(
cat - <<END
From: from@from.com
To: to@to.com
ubject: subject
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="X12345"

--X12345
Content-Type: application/zip;
Content-Transfer-Encoding: base64
Content-Disposition: attachement; filename=test.zip

END
base64  test.zip
echo '--X12345'
) | /usr/sbin/sendmail -t

【讨论】:

    猜你喜欢
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    • 2023-03-12
    • 1970-01-01
    • 2019-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多