1. 설치하기

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

2. 설정하기

$ nano /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_CApath = /etc/ssl/certs
smtpd_tls_CApath = /etc/ssl/certs
smtp_use_tls = yes

3. 계정 설정

우선 구글 계정 > 보안 > 앱 비밀번호 에서 앱용 비밀번호를 생성한다.

$ nano /etc/postfix/sasl_passwd
[smtp.gmail.com]:587    USERNAME@gmail.com:PASSWORD

4. 권한 설정

$ sudo chmod 400 /etc/postfix/sasl_passwd
$ sudo postmap /etc/postfix/sasl_passwd # sasl_passwd.db 가 생성됨.

5. 서비스 재시작

$ sudo /etc/init.d/postfix reload
or
$ systemctl restart postfix

6. 테스트

$ echo "Test Body" | mail -s "Test Subject" username@gmail.com

로컬로 이메일을 원격지로 전송하기

$ sudo nano /etc/aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root
root: user
user: username@gmail.com
$ sudo newaliases

로그 파일

$ cat /var/log/mail.log
$ cat /var/log/mail.err

서비스 예

/lib/systemd/system/yona-market-news.service

ExecStart=/bin/sh -c '/lab/yona-market-news/run | mail -s "Yona Market News $(date +%Y-%m-%d)" oiehot@gmail.com'

참고자료