우분투 20.04 에서 gmail 계정의 smtp를 활용해서 커맨드 라인으로 email을 송부하는 내용을 정리하였습니다. 우분투에서 자동으로 특정 프로그램을 실행하고 실행하고 그 결과를 email을 전송할 수 사용할 예정입니다. 우분투 20.04 설치 상태에서 아래 명령어를 copy&past 하면 잘 동작합니다. 이와 관련해서 출처 사이트에서 설명이 자세히 작성되어 있어, 명령어만 나열하였습니다.
1. postfix package 설치
$ sudo apt-get install mailutils libsasl2-2 ca-certificates libsasl2-modules postfix
2. main.cf 파일 수정
$ sudo vi /etc/postfix/main.cf
#main.cf 파일 맨 밑에 아래 내용을 추가
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes
3. email 주소의 ID와 pass 를 sasl_passwd 을 저장 ( email 송부에 사용하고자 하는 gmail 계정)
$ sudo vi /etc/postfix/sasl_passwd
#sasl_passwd 파일에 gmail ID와 password 저장
[smtp.gmail.com]:587 [YourID]@gmail.com:[YourPasswd]
#sasl_passwd권한 제한
$ sudo chmod 400 /etc/postfix/sasl_passwd
$ sudo postmap /etc/postfix/sasl_passwd
4. 인증서 설치
$ cat /etc/ssl/certs/thawte_Primary_Root_CA.pem | sudo tee -a /etc/postfix/cacert.pem
5. postfix 서비스 재샐행
$ sudo /etc/init.d/postfix reload
6. 아래 구글 계정 site에서 사용하고자 하는 gmail 계정의 설정을 "보안이 낮은 수준의 app 사용 허용" 참고) "2단계 인증 후 앱 비밀번호로 설정" 도 가능
구글 계정: https://myaccount.google.com/lesssecureapps
7. mail 명령어로 email 전송
$ echo "Test mail from postfix" | mail -s "Test Postfix" kibua20@gmail.com (받을 주소)
#mail 명령어 사용법 요약
$ mail -s "메일 제목" user@example.com (받을 주소)
명령어 실행후 콘솔에 이메일 내용을 입력하고 Ctrl-D 를 누르면 메일이 전송됨
#heredoc 문법 (<<<) 사용
$ mail -s "메일 제목" user@example.com <<< '메일 본문입니다'
#제목만 송부
$ mail -s "메일 제목" user@example.com < /dev/null
#첨부파일 전송 -a
$ mail -s "메일 제목" -a test.pdf user@example.com <<< '메일 본문입니다'
#여러명에게 전송
$ mail -s "메일제목" email1@gmail.com email2@daum.com email3@naver.com <<< '메일 본문- 여러명에게 전송'
* 참조자와 숨은참조자를 추가하는 방법을 찾고 있음
8. 디버깅 - 아래 로그 확인
$ cat var/log/mail.log
출처:
https://webdir.tistory.com/227
https://tsy0668.tistory.com/11
https://openbee.kr/435
http://blrun.egloos.com/v/11078183
https://www.lesstif.com/lpt/send-mail-from-linux-command-line-24445045.html
<관련글>
[개발환경] - WSL 2.0 Global configuration (.wlsconfig) 을 통한 성능 향상
[개발환경] - 윈도우용 MobaXterm - SSH 및 X-Server 지원
[모바일/Android] - repo 실행 시 DeprecationWarning: imp module 대처법
[개발환경] - [실패 사례] gcc 버전이 낮은 상용 리눅스 서버에서 프로그램 설치 시 GLIBCXX' not found 에러
[개발환경] - Ubuntu 동영상 플레이어: VLC Player 설치
[개발환경] - 우분투20.04에서 한글 오타 방지 (UIM '벼루' 설치기)
[개발환경] - Ubuntu 20.04에서 sshfs 를 이용한 원격 폴더 마운트
[개발환경] - [Tips] Ubuntu 20.04 에서 swap file 늘리기
[개발환경] - [Tips] Citrix Receiver for Chrome 설치 (우분투와 윈도우 동일)
[개발환경] - Ubuntu 테마 설치 (맥분투 만들기)
[개발환경] - [Tips] 우분투 화면 캡쳐 및 화면 녹화
[개발환경] - 우분투 터미널에 Putty 스타일 Copy&Paste 적용 (Terminator)
댓글