리눅스 명령행에서 메일 보내기(send mail from linux command line)

command line 에서 mail 보내기. 쉘 스크립트 등에서 유용

sendmail 사용

$ echo -e "Subject: Terminal Email Send\n\nEmail Content line 1\nEmail Content line 2" > content


$ sendmail user@example.com < content 


mail 사용

$ mail -s "메일 테스트" user@example.com


명령어 실행후 콘솔에 이메일 내용을 입력하고 Ctrl-D 를 누르면 메일이 전송됨

Email 테스트입니다.
<Ctrl+D>


콘솔에서 본문을 바로 입력하려면 heredoc 문법(<<<) 으로 본문을 입력

$ mail -s "메일 테스트" user@example.com <<< '메일 본문입니다'
본문없이 제목만 전송
$ mail -s "Test Subject" user@example.com < /dev/null


파일 첨부는 -a 옵션뒤에 첨부할 파일의 경로를 입력

본문없이 제목만 전송
$ mail -s "메일 테스트" -a test.pdf user@example.com <<< '메일 본문입니다'



Mutt 사용 

설치

mutt 패키지 설치

yum install mutt

ubuntu

sudo apt install mutt


주요 옵션

옵션용도비고
-a <file>첨부 파일-a attach.jpg
-b <address>blind carbon-copy (BCC) address
-c <address>specify a carbon-copy (CC) address
-s <제목>제목(반드시 쌍따옴표로 둘러 싸야함)-s "제목입니다"




사용

메일 전송

mutt -s "Test from mutt" user@example.com

여러 명에게 보낼 경우 메일 주소를 추가로 입력

mutt -s "Test from mutt" user@example.com user2@host.com


본문을 외부에서 입력

메일 본문은 미리 작성한 message.txt 를 사용

mutt -s "Test from mutt" user@example.com < message.txt


첨부 파일 포함 전송

mutt -s "Test from mutt" user@example.com < message.txt -a attachment.tar


본문 내용을 커맨드에서 작성

echo "메일 본문입니다" | mutt -s "Test from mutt" user@example.com  -a attachment.tar

메일 참조 추가

-c 옵션으로 carbon copy 할 사용자를 설정

echo "메일 본문입니다" | mutt -s "Test from mutt" user@example.com  -a attachment.tar -c user2@example.com -c admin@example.com


숨은 참조(BCC: blind corbon copy) 가 필요할 경우 -b 옵션 사용

echo "메일 본문입니다" | mutt -s "Test from mutt" user@example.com  -a attachment.tar -c user2@example.com -b admin@example.com -b user@host.com


모든 메일 삭제

  1. 대문자 D 를 눌러서 삭제 메뉴 표시
  2. 하단 왼쪽의 "Delete messages matching" 입력창에서 ~A 입력

  3. q 를 누르고 "Purge message?" 에서 yes 입력

같이 보기

Ref