메일: 명령줄에서 첨부 파일이 포함된 이메일 보내기

메일: 명령줄에서 첨부 파일이 포함된 이메일 보내기

명령줄(스크립트)에서 이메일을 보내는 방법을 알고 있습니다.

echo "body" | mail -s "subject" [email protected]

명령줄(스크립트)에서도 첨부파일을 보낼 수 있나요?

heirloom-mailx저는 데비안에서 Wheezy를 사용하고 있습니다.

답변1

쉬운 방법: 사용 uuencode( sharutils패키지의 일부). 서식이나 텍스트를 사용할 수 없습니다. 첨부 파일과 사용자 정의 제목이 포함된 이메일만 있으면 됩니다.

uuencode /path/to/file file_name.ext | mail -s subject [email protected]

복잡한 방법: sendmailHTML 형식 사용:

v_mailpart="$(uuidgen)/$(hostname)"
echo "To: [email protected]
Subject: subject
Content-Type: multipart/mixed; boundary=\"$v_mailpart\"
MIME-Version: 1.0

This is a multi-part message in MIME format.
--$v_mailpart
Content-Type: text/html
Content-Disposition: inline

<html><body>Message text itself.</body></html>

--$v_mailpart
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name=file_name.ext
Content-Disposition: attachment; filename=file_name.ext

`base64 /path/to/file`
 --$v_mailpart--" | /usr/sbin/sendmail -t

첨부파일이 여러 개인 경우 마지막 부분이 반복될 수 있습니다.

답변2

대신 전화만 하면 muttmail

echo "body" | mutt -s "subject" -a attachment0 attachment1 [...] -- [email protected]

attachmentN첨부하려는 파일 목록은 다음과 같습니다 .

관련 정보