我正在使用锁定的 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