如何使用 Sendmail 添加附件(选项有限)?

如何使用 Sendmail 添加附件(选项有限)?

我正在使用锁定的 RHEL 盒子。

目标是发送一封带有附件的电子邮件。

唯一可用的邮件服务是sendmail(不能使用sendemail、mail、mailx、mutt等)

另外,找不到uuencode命令,无法安装sharutils。

我已经通过以下简单测试验证了 sendmail 可以正常工作:

echo "Subject: testing" | sendmail -v [email protected]

我已经尝试了下面的命令,但它只是创建了一个 dead.letter:

echo "Subject: testing" | sendmail /a /tmp/test.txt [email protected]

考虑到这些限制,使用 sendmail 从服务器发送文件的正确方法是什么?

答案1

解决方法是使用 openssl base64 编码,如下所示:

( echo "to: [email protected]"
  echo "subject: Message from the server"
  echo "mime-version: 1.0"
  echo "content-type: multipart/related; boundary=messageBoundary"
  echo
  echo "--messageBoundary"
  echo "content-type: text/plain"
  echo
  echo "Please find the document attached."
  echo
  echo "--messageBoundary"
  echo "content-type: text/plain; name=test.txt"
  echo "content-transfer-encoding: base64"
  echo
  openssl base64 < /tmp/test.txt) | sendmail -t -i

相关内容