본문으로 바로가기

근래의 메일서버는 간단한 설정이 가능한 postfix를 많이 사용합니다. 이를 이용해 메일서버를 설치하고 구글의 SMTP를 이용해 메일을 보내는 방법에 대해 알아봅니다.

필요한 패키지 설치

메일 테스트를 위한 패키지 및 인증도구들 설치

일부는 이미 설치되어 있을수도...

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

Postfix 메일서버 설치

설치중에 몇가지 선택할 수 있는데 Internet Site 선택, mail.example.com과 같이 자신의 도메인을 설정

sudo apt-get install postfix

Postfix 설정

Postfix 설정

sudo vi /etc/postfix/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

sasl_passwd 파일을 생성하고 이 파일에 gmail 계정과 패스워드를 생성

sudo vi /etc/postfix/sasl_passwd

USERNAME@gmail.com:PASSWORD 부분에 자신의 Gmail 계정과 패스워드 입력

만일 구글앱스를 사용해 도메인을 이용중이면 @gmail.com 대신에 @도메인주소를 사용가능

[smtp.gmail.com]:587    USERNAME@gmail.com:PASSWORD

권한 변경 및 Postfix 설정 업데이트

sudo chmod 400 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd

인증서 오류를 회피하기 위해 아래의 명령어 실행

cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem

Postfix 재시작

sudo /etc/init.d/postfix reload

Mail 테스트

you@example.com에 메일을 보낼주소를 입력

echo "Test mail from postfix" | mail -s "Test Postfix" you@example.com

이렇게 메일을 보내게 되면 구글 계정의 메일로 발송한 것이 되어 보낸편지함에 이력이 남기도 한다. 다만 하루에 500통의 메일 전송제약이 있다.

참고 : http://rtcamp.com/wordpress-nginx/tutorials/linux/ubuntu-postfix-gmail-smtp/

Mail Aliases

시스템에서 발생할 수 잇는 여러가지 에러나 각종 메세지를 전달받고 싶은데 이를 시스템에서 확인하지 않고 다른 메일로 포워딩 시킬수 있다.

root 유저에게 전달되는 메일들을 다른 메일 계정으로 받아보기

sudo vi /etc/aliases

  root:   system@example.com

Aliases DB를 재생성

sudo newaliases

문제 해결

도메인 uzuro.com을 사용하는데 postfix 설치시 설정하게 되는데 mydestination 값에 uzuro.com이 설정되어 있었다. 이때 시스템의 로컬상에서 구글 SMTP를 이용해 메일을 보낼때 시스템의 로컬의 주소를 uzuro.com으로 인식하게 된다.

예를 들어 webmaster@uzuro.com에게 시스템에서 메일 보낸다면 이는 시스템 계정중에 webmaster를 찾고 메일을 보낸다. 원하는 바는 네이버웍스나 구글앱스등에 설정한 곳으로 메일을 보내는 것이였는데 시스템상에서 벗어나질 않았다.

sudo vi /etc/postfix/main.cf 

mydestination의 값중에 uzuro.com 부분을 삭제하니 더 이상 시스템 내부에서 메일계정을 찾지 않고 원한는데로 네이버웍스에 설정된 주소로 메일이 발송되었다.