본문으로 바로가기

근래의 메일서버는 간단한 설정이 가능한 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 부분을 삭제하니 더 이상 시스템 내부에서 메일계정을 찾지 않고 원한는데로 네이버웍스에 설정된 주소로 메일이 발송되었다.



댓글을 달아 주세요

  1. BlogIcon 우성군 2013.12.17 01:50 신고

    덕분에 정말 쉽게 적용하였습니다.

    혹시 네이버 웍스에 등록된 도메인 메일에서 보낸 것처럼 진행할 수 있나요?

    구글앱스에서 도메인 메일을 이용하려고 하니 유료화가 되어 메리트가 떨어져서입니다.

    • BlogIcon 흉내쟁이 2013.12.17 13:32 신고

      반갑습니다.^^
      저도 네이버웍스를 사용중이라서 관련글 포스팅하면서 네이버웍스 도메인으로 메일을 보내보려고 시도해봤습니다. 그런데 네이버웍스 자체가 네이버웍스용 ID를 따로 부여하지 않고 네이버에서 기존에 사용하고 있는 ID가 필요한 시스템이라서 애초에 설정이 불가능하더군요.

      우리는 네이버 계정으로 사용하는 ID로 ID@naver.com 의 메일계정을 부여받게 되지요. 네이버웍스용 ID를 따로 부여받지 못한다는 것이지요. 결국 메일보내기에 사용될 메일계정은 ID와 PW가 존재하는 ID@naver.com 으로 보내지게 됩니다.

    • BlogIcon 우성군 2014.01.22 02:01 신고

      제 답장이 많이 늦었네요.

      방금 우분투서버 13.10에서도 적용 완료했습니다.

      고맙습니다.

  2. Handler 2016.02.09 11:15 신고

    감사합니다~! ㅎㅎㅎ

  3. 2016.04.05 02:16

    비밀댓글입니다

  4. 운지 2016.04.05 02:17 신고

    인증서 오류를 피하기위한 명령어가 실행이 안됩니다 그런 파일이나 디렉터리가 없대요 ㅜㅠ

티스토리 툴바