쉘 스크립트를 통해 이메일을 보낼 때 파일을 첨부하는 방법은 무엇입니까?

쉘 스크립트를 통해 이메일을 보낼 때 파일을 첨부하는 방법은 무엇입니까?

쉘 스크립트를 통해 이메일을 보내려면 다음 코드를 사용하고 있습니다.

암호:mail -s "subject" [email protected] <<< "Body of the mail"

효율적인. 그런데 메일을 보낼 때 파일을 첨부하고 싶어요. 어떻게 하나요?

답변1

Linux 시스템에 "mutt"가 설치되어 있으면 사용할 수 있습니다.

$$ mutt -a "file_attachment"

다른 옵션은 mail 명령과 동일합니다.

답변2

파일을 첨부하는 한 가지 가능한 방법은 파일을 인코딩하는 것입니다. 예를 들어

uuencode file_to_attach file_to_attach|mail -s "subject" [email protected] 

file_to_attach메시지에 첨부됩니다

답변3

당신이 사용할 수있는 mime-construct(https://linux.die.net/man/1/mime-construct) 또는 makemime(http://manpages.ubuntu.com/manpages/trusty/man1/makemime.1.html) 이러한 도구 중 하나를 사용할 수 있는 경우.

매뉴얼 페이지의 예 mime-contruct:

일반 텍스트 부분을 보내고 파일을 첨부하면 파일의 콘텐츠 유형과 첨부 파일 이름이 자동으로 설정됩니다.

mime-construct --to "$recip" --subject "$file" \
--string "Here's the file I told you about.$nl" \
--file-attach "$file"

물론 스크립트에서 모든 MIME 헤더, 경계 및 파일 인코딩을 수동으로 생성할 수도 있습니다. (BSD 라이센스가 있는) HylaFAX 소프트웨어의 일부인 일부 스크립트에서 (다소 복잡한) 예제를 찾을 수 있습니다. CreateMailMessage소스 코드 디렉토리 notify.sh.in에서 common-functions.h.in함수를 찾으세요 . util(바라보다https://www.hylafax.org/,ftp://ftp.hylafax.org/source/)

관련 정보