Postfix와 GMail SMTP를 이용한 메일 발송
메일 발송을 위해 별도의 메일 서버를 세팅하는 것도 가능하지만 메일 발송량이 많지 않고 스팸으로 처리되는 것이 신경쓰인다면 기존 메일서비스의 SMTP 를 이요해 메일 발송하는 게 어떻게 보면 현실적이고 쉬운 방법이라고 할 수 있다. 워드프레스의 경우 SMTP 플러그인을 이용해 설정이 가능해서 플러그인을 사용해왔는데.. 언제부턴가 UI 쪽에서 요상한 오류가 발생하는 게 확인돼서 이참에 postfix 를 사용하는 것으로 변경을 하게 됐다. Ubuntu 20.04 버전을 사용하는 VPS 에 세팅했다.
sudo apt install postfix
postfix 설치 과정에서 Internet Site
를 선택하고 VPS 에 연결한 도메인을 입력한다.
/etc/postfix/main.cf
파일에 아래의 내용과 같이 수정하거나 추가한다.
relayhost = [smtp.gmail.com]:587
smtp_tls_security_level=encrypt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
/etc/postfix/sasl_passwd
파일에 gmail smtp 에 로그인하기 위한 정보를 아래와 같이 입력한다.
[smtp.gmail.com]:587 userid@gmail.com:password
2차 인증을 사용하는 경우는 아래와 같이 구글에서 제공하는 앱비밀번호를 생성해서 사용해야 한다.
앱비밀번호는 https://myaccount.google.com/apppasswords 에서 생성, 확인할 수 있다. 보안을 위해 아래와 같이 파일의 퍼미션을 변경해 준다.
chown root:root /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
다음으로 SASL Password DB를 생성해 준다.
postmap /etc/postfix/sasl_passwd
끝으로, postfix 서비스를 재시작하고 메일이 정상적으로 발송되는지 확인한다.