Rhel

如何使用 Sendmail 添加附件(選項有限)?

  • December 7, 2017

我正在使用一個鎖定的 RHEL 盒子。

目標是發送附有文件的電子郵件。

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

另外,找不到uuencode命令,也無法安裝sharutils。

我已經驗證 sendmail 可以與下面的簡單測試一起使用:

echo "Subject: testing" | sendmail -v myemail@address.com

我已經嘗試了下面的命令,但它只是創建了一個 dead.letter:

echo "Subject: testing" | sendmail /a /tmp/test.txt myemail@address.com

給定約束,使用 sendmail 從伺服器發送文件的正確方法是什麼?

解決方法是使用 openssl base64 編碼,如下所示:

( echo "to: myaddress@email.com"
 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; name=test.txt"
 echo "content-transfer-encoding: base64"
 echo
 openssl base64 < /tmp/test.txt) | sendmail -t -i

引用自:https://unix.stackexchange.com/questions/409523