잠긴 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