2016년 11월 13일 일요일

[Ubuntu] 우분투 메일 보내기




[Ubuntu] 우분투 이메일 보내기

시스템에 오류가 생기거나, 특이사항 발생 시, 내가 알 수 있는 방법이 뭐가 있나.. 
생각해보니 이메일(문자는 안 되고)이 있었다. 

이메일 서버를 구축함에 있어 postfix를 많이 사용하는 것 같았다. 
내 도메인을 이용한 메일서버, 클라이언트까진 필요 없고, 
기존에 있던 구글 이메일을 이용하여, 명령어 한 줄로 이메일 날리는.. 간단한 기능이 필요했다. 


sudo apt-get install mailutils libsasl2-2 ca-certificates libsasl2-modules
sudo apt-get install postfix

// 쭉쭉 설치해준다. 

중간에 뭔가 묻는 게 나오는데 , Internet Site 선택.

  
// 도메인 적으라고 하는데, 나는 iptime 공유기에서 제공해주는 도메인을 적었다.



sudo vi /etc/postfix/main.cf
------------------------------------------------------------------ 수정해준다.
relayhost = [smtp.gmail.com]:587
--------------------------------------------------------------------------------
// relayhost : relay를 하게 될 SMTP 서버를 추가하는 기능이란다.

--------------------------------------------------------- 맨 밑에 추가해준다.
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
--------------------------------------------------------------------------------
// smtp_sasl_auth_enable : SMTP의 SASL 인증 여부를 설정
// smtp_sasl_password_maps : SMTP 비밀번호 설정
// smtp_sasl_security_options : 인증 옵션. noanonymous 로 설정하면 익명 사용자가 접근할 수 없다고 한다. 
// smtp_tls_CAfile : SMTP TLS에 사용할 Certificates 파일을 지정한다고 한다. 
// smtp_use_tls : SMTP 보안 프로토콜을 TLS로 사용하는지 여부를 설정
:wq



sudo vi /etc/postfix/sasl_passwd
-----------------------------------------------------------------------
[smtp.gmail.com]:587    example@gmail.com:비밀번호
-----------------------------------------------------------------------
// example@gmail.com : 자신의 구글 이메일
// 비밀번호 : 자신의 구글 이메일 비밀번호
:wq



sudo chmod 400 /etc/postfix/sasl_passwd
// sasl_passwd 파일 권한 변경

sudo postmap /etc/postfix/sasl_passwd
// Postfix 설정 업데이트



cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem
// 인증서 오류를 회피하기 위한 명령어라고 한다.


cp /etc/ssl/certs/Thawte_Premium_Server_CA.pem /etc/postfix/cacert.pem
TLS 설정을 위한 서버의 Certificates 파일을 지정한 곳에 복사. 


sudo /etc/init.d/postfix reload
// Postfix 재시작




완료.

테스트를 해보자.


echo "e-mail 내용" | mail -s "e-mail 제목" "보낼 이메일 주소"
// 그럼 위에 정한 example@gmail.com -> 보낼 이메일 주소 로 메일이 전송된다.
// 보낼 이메일 주소에 example@gmail.com 똑같이 적으면 이메일이 '나에게' 보내질테고.


재부팅해도 잘 실행되는 걸 볼 수 있다. 


---------------------------------------------------
sudo /etc/init.d/postfix start         // 시작
sudo /etc/init.d/postfix reload      // 재실행
sudo /etc/init.d/postfix stop         // 정지
---------------------------------------------------


// 테스트 해보니, gmail이나 네이버메일은 이상이 없으나
// 한메일은 메일 제목에 한글 깨짐 현상이 있다.



완료.