postfix gmail smtp setup

2018. 8. 12. 21:00·Development/개발 환경 구축

http://openbee.kr/435


Postfix with Gmail SMTP on Ubuntu

2018.04.01 11:19
postfix, SMTP, 리눅스, 오픈소스, 우분투, 이메일, 지메일smtp

서비스를 운영하다보면 서버에서 이메일을 발송할 일이 있을때 여러가지 이유로(보안상 계정 관리, 발송한 메일을 확인 등) 지메일 계정으로 쓰고 싶은 경우가 종종 있습니다. 지메일은 메일사본을 보관해주고 웹인터페이스를 제공하기 때문에 저는 중요한 고객서비스를 제공할때 자주 사용하고 있습니다. 

이번에 신규서버에 설정할 일이 생겨서 설정 과정을 공유합니다.


이번에 제가 테스트한 환경은 Linux Mint 18.3 입니다. 

하모니카 커뮤니티 에디션, Linux Mint 18.3, Ubuntu 16.04 등은 모두 동일한 방법을 사용해서 적용하시면 됩니다.


패키지 설치

필요한 모든 패키지 설치는 다음과 같이 실행합니다.

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


처음 설치하시는 경우 postfix 설정 도우미가 어떤 용도로 사용할지 물어보게 됩니다. 이때 Internet Site 를 선택하세요.


postfix 환경설정

postfix 설정파일 편집

sudo vi /etc/postfix/main.cf 명령으로 설정파일을 편집합니다. 

항상 편집을 시도하기 전에 원본을 복사해서 보관해두는 것을 잊지마세요.

파일의 내용은 아래내용을 그대로 사용합니다.


# gmail smtp setting

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


계정정보 파일 생성

sudo vi /etc/postfix/sasl_passwd 명령으로 계정정보 파일을 생성하고 아래의 붉은색부분을 자신의 지메일 계정 정보로 적습니다.

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

postfix 에서 사용할 수 있는 db파일로 변환

다음의 명령으로 계정정보 파일을 루트만 접근하도록 변경하고 postfix에서 사용하는 파일형태로 변환해 줍니다.

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

CAfile 생성

환경설정에서 정의해준 CA파일을 다음과 같이 생성해 줍니다.

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


postfix 서비스 재시작


sudo /etc/init.d/postfix reload


테스트

만일 mailutils 가 설치되지 않은 경우에는 이 명령어가 동작하지 않습니다. 설치가 되지 않은 경우에는 다음과 같이 설치해줍니다.

sudo apt install mailutils


메일발송을 다음과 같이 테스트 해 봅니다. 붉은색 부분을 자신이 확인할 수 있는 이메일계정으로 변경해주세요.

echo "postfix로 발송한 메일입니다" | mail -s "Postfix 메일 테스트" 수신이메일주소


디버깅

문제가 발생하여 로그를 확인하고 싶은 경우는 

tail -f 10  /var/log/mail.log 명령어로 postfix의 작업과정 확인합니다.



지메일 환경설정

2단계 보안인증

게정 로그인 정보가 정상임에도 불구하고 다음과 같은 오류가 로그파일에 남는 경우에는 지메일에서 추가적인 환경설정이 필요합니다.

postfix/smtp[21326]: CF7CE24225C: SASL authentication failed; server smtp.gmail.com[108.177.125.109] said: 535-5.7.8 Username and Password not accepted. Learn more at?535 5.7.8  https://support.google.com/mail/?p=BadCredentials k24sm23509527pfj.32 - gsmtp


이 이유는 지메일의 보안설정때문에 발생합니다.

먼저 아래 링크에서 2단계 인증을 사용하도록 변경합니다. 이때 보안코드를 받을 수 있는 휴대폰이 있어야 합니다.

https://myaccount.google.com/u/2/security



앱 비밀번호 생성

인증을 마쳤으면 다음과 같이 앱 비밀번호를 생성해줍니다. 새로운 앱을 원하는 이름으로 만들고 이때 발급되는 비밀번호를 복사해둡니다.


다음과 같이 이전에 설정한 파일의 비밀번호 대신 복사한 비밀번호를를 사용하도록 변경합니다.

sudo vi /etc/postfix/sasl_passwd 


[smtp.gmail.com]:587    USERNAME@gmail.com:발급받은앱비밀번호

저장해주고 다시 변경된 내용을 postfix에서 사용하는 파일형태로 변환해 줍니다. 저장이 안되는경우는 파일의 쓰기 권한 때문입니다. vi 에서는 저장할때 :wq! 하시면 강제 저장이 됩니다.

sudo postmap /etc/postfix/sasl_passwd

테스트 및 확인

다음과 같이 테스트 해봅니다.

echo "postfix로 발송한 메일입니다" | mail -s "Postfix 메일 테스트" 수신이메일주소




출처: http://openbee.kr/435 [오픈비 : 삽질은없다]

저작자표시 (새창열림)

'Development > 개발 환경 구축' 카테고리의 다른 글

Yona H2 설치  (1) 2018.08.20
무료 공인 인증 받기  (0) 2018.08.12
Webpack test  (0) 2018.08.03
1 PAGE PROPOSAL  (0) 2018.07.25
2018 프로그래밍 트렌드 따라잡기  (0) 2018.07.25
'Development/개발 환경 구축' 카테고리의 다른 글
  • Yona H2 설치
  • 무료 공인 인증 받기
  • Webpack test
  • 1 PAGE PROPOSAL
phpdoumi
phpdoumi
리눅스부터 인공지능까지 하나씩 해 보고 과정을 정리하자.
  • phpdoumi
    AI 세상 ?
    phpdoumi
  • 전체
    오늘
    어제
    • 분류 전체보기 (102)
      • Currents (0)
        • 2024.1 with Ubuntu 24.04 (0)
        • 2024.1 with Ubuntu 22.04 (0)
        • Groupware (0)
        • Spring Boot (0)
        • 스프링부트 + JPA + thymeleaf + S.. (0)
      • Cloud (6)
        • Yoga with Ubuntu 22.04 (0)
        • Ussuri with Ubuntu 20.04 (0)
        • Stein for Ubuntu 18.04 (0)
        • Queens (0)
        • RDO_Tech (0)
        • IBM Cloud private (0)
        • 교육 (0)
        • Pike release (0)
        • Ocata release (0)
        • Ocata for Ubuntu 16.04(w ce.. (0)
        • 도입절차 (0)
        • Newton for Ubuntu 16.04(w c.. (0)
        • Newton for Ubuntu 16.04(w c.. (0)
        • Newton For Ubuntu 16.04 (0)
        • Mitaka for Ubuntu 14.04(w c.. (0)
        • Liberty on Ubuntu 14.04 (0)
        • Mitaka ubuntu 14.04 (0)
        • AutoPilot (0)
        • Etc (5)
        • Mitaka (1)
        • Liberty (0)
      • Trend 기술 (5)
        • BlockChain (0)
        • AI (1)
        • Raspberry PI & Arduino (0)
        • Big Data (1)
        • Mobile (0)
        • Tensorflow (0)
        • Nutanix (1)
        • SDN (0)
        • 3D Printing (1)
        • pfsense (0)
        • BTS (0)
      • Docker&Container (2)
        • Core OS (1)
        • Docker (1)
      • Development (14)
        • bbgo (0)
        • Ansible (0)
        • ofbiz (0)
        • React (0)
        • UML Designer (0)
        • Django (3)
        • react-admin (0)
        • VSCode (0)
        • Vue.js (3)
        • Yona (0)
        • Shopping Mall (0)
        • Python (0)
        • Genkins (0)
        • 개발 환경 구축 (6)
        • Locallibrary (Python) (0)
      • 행복한경영이야기 (63)
      • Linux (6)
        • Open Source (5)
        • Ubuntu (0)
        • RedHat (0)
      • Todo (2)
      • 먹을거리 (4)
      • 관심거리 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 모바일경제연구소
    • CIO 코리아
    • itworld
    • dbguide.net
    • techm
    • splunk install
    • 끊임없이
    • yO Kang(GitHub)
    • [오픈소스컨설팅]엔터프라이즈 오픈소스 도입전략
    • Cloud Test Report(Mirantis)
    • git 한글 문서
    • grooveyou
    • Minsky Installation
    • 누구나 쉽게 이해할 수 있는 Git 입문
    • Tacademy
    • TAEWAN.KIM
  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
phpdoumi
postfix gmail smtp setup
상단으로

티스토리툴바