Published Book on Amazon
All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1 | |
All of IOT Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2 |
출판된 한글판 도서
최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상) | |
최신 라즈베리파이(Raspberry Pi)로 시작하는 사물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하) |
Original Book Contents
22.2.2 <MUTT> 프로그램 - 메일 전송 보조 도구
앞 절에서 설명한 것처럼 <SSMTP> 메일 전송 에이전트만 있으면 메일을 전송할 수 있지만 여러 가지로 불편한 점 많이 있다. Shell에서 메일을 발송할 때 메일 송신자, 수신자, 메일 본문 등을 메일 내용 속에 한꺼번에 입력해야 하며, 첨부파일을 전송할 수가 없다.
● <MUTT> 프로그램 설치 및 설정
이러한 불편을 해결해 주는 이메일 전송 도구가 있는데, 바로 <MUTT> 프로그램이다.
이 프로그램을 설치하기 위해서 다음 명령을 수행한다
sudo apt-get install mutt |
해당 프로그램을 사용하기 위해서는 사전에 설정 작업을 해야 한다. 설정은 통상 Logon 사용자의 home directory에서 숨김파일 .muttrc을 생성하여 처리한다. 텍스트 파일 편집기를 이용해서 해당 파일을 편집한다.
<MUTT> 프로그램에 대한 설정 항목은 여러 가지가 있는데, 추가적인 설명은 다음을 참조하도록 한다.
■ https://blog.bartbania.com/raspberry_pi/consolify-your-gmail-with-mutt/
<MUTT> 프로그램은 local 컴퓨터에 있는 메일 전송 에이전트(MTA)를 통하여 SMTP server로 메일을 발송할 수 있는 기능을 가지고 있다. 아래는 local 컴퓨터에 설치되어 있는 <SSMTP> 메일 전송 에이전트를 통하여 메일을 발송하기 위한 설정이다.
# SMTP SETTINGS – Local Server set sendmail="/usr/sbin/ssmtp" |
하지만 <MUTT> 프로그램은 remote에 있는 SMTP server와 직접 연결하여 메일을 발송할 수 있다. 아래는 그때 필요한 설정의 예를 보여준 것이다.
# SMTP SETTINGS – Remote Server set smtp_url = 'smtp://kim.dueggyu@smtp.gmail.com:587/' set smtp_pass = 'password' # user password |
메일 발송과 관련된 여러 가지 정보를 설정 파일에서 지정할 수 있다.
# Mail Sender set from = 'kim.dueggyu@gmail.com' set realname = 'Kim.Dueg Gyu' |
● <MUTT> 프로그램을 이용한 이메일 발송
<MUTT> 프로그램을 이용해서 메일을 보낼 때는 다음과 같은 형식으로 명령을 실행한다.
[명령 형식]
mutt [options] <receiver-mail-address> |
[명령 개요]
■ <MUTT> 프로그램을 이용해서 이메일을 보낸다.
■ user 권한 -- 일반 user.
[상세 설명]
■ 이 명령을 실행하면 메일의 구체적인 내용을 입력하고 전송하는 별도의 화면이 나타난다. 메일 수신자, 제목, 메일 본문 내용을 입력하고 내용을 저장하면, 입력 내용을 최종 확인하고 발송하는 화면이 나온다. 여기서 발송작업을 선택하면 최종적으로 발송하는 절차를 거치게 된다.
■ 간단한 메일 작성 방법
아래 형식을 사용하면 메일 본문을 Shell에서 한번에 입력할 수 있다.
echo < mail-body> | mutt [options] <receiver-mail-address> |
입력 redirection 기능 "<<"을 이용하면 메일 내용을 보다 편리하게 입력할 수 있다. "EOF" 다음 라인부터 내용을 입력하고 입력이 완료되면 "EOF"를 입력한 다음 [Enter]를 눌러서 명령을 실행한다.
mutt [options] <receiver-mail-address> << EOF <mail- body> EOF |
[주요 option]
-h | Display help. |
-b address | Specify a blind-carbon-copy (BCC) recipient |
-c address | Specify a carbon-copy (CC) recipient |
-s subject | Specify the subject of the message. |
-- | Treat remaining arguments as addr even if they start with a dash. See also "-a" above. 첨부파일이 있을 경우 메일 수신자와 구분하기 위한 구분자 |
-a file [...]
| Attach a file to your message using MIME. When attaching single or multiple files, separating filenames and recipient addresses with "--" is mandatory, e.g. mutt -a image.jpg -- addr1 or mutt -a img.jpg *.png -- addr1 addr2. The -a option must be placed at the end of Shell options. |
[사용 Example]
다음은 Raspberry Pi에서 gmail을 통하여 다른 e-mail 계정으로 간단한 메일을 발송해 본것이다.
pi@raspberrypi ~ $ mutt omegakim@realomega.com |
위 명령을 실행하면 다음과 같이 메일 내용을 입력하는 화면이 나타난다. 처음에 메일 수신자를 입력하는 화면이 나타나고, 다음에 제목을 입력하는 화면이 나타난다.
다음으로 다음과 같이 메일의 본문을 입력하는 화면이 나온다.
마지막으로 다음과 같이 최종 발송 화면이 나타난다.
그림 22‑6 <MUTT> 프로그램을 이용한 이메일 전송
이번에는 Shell에서 모든 내용을 입력하면서, "pi" 계정의 home directory에 있는 "/Image_Camera/"test_snap1.jpg" 파일을 첨부로 전송해 볼 것이다. 여기서 본문은 "echo" 명령을 통해서 입력한 다음, "pipe"를 통하여 <MUTT> program으로 전달되었다.
pi@raspberrypi ~ $ echo "This is test e-mail from Raspberry Pi." | mutt -s "test e-mail" –a ~/Image_Camera/test_snap1.jpg -- omegakim@realomega.com |
다음은 수신자의 E-mail을 outlook에서 확인해 본 것이다. "gmail"에서 보내온 E-mail이 수신되어 있고, 그 메일에는 파일이 첨부되어 있는 것을 알 수 있다.