
mysql에서 매일 자정 자동으로 백업을 진행하고 메일로 결과를 보내는게 목적이다.
Postfix 설치
sudo apt update
sudo apt install postfix mailutils
설치 중 General type of mail configuration을 묻는 창에서 Internet Site를 선택한다.

/etc/postfix/main.cf 파일이 메일 서버 설정을 담당한다. main.cf 파일을 열어 설정을 수정.
sudo vi /etc/postfix/main.cf
기본적인 설정을 다음과 같이 수정:
# 기본적으로 사용되는 도메인 이름
myhostname = devjsb.store
mydomain = devjsb.store
myorigin = $mydomain
# 메일 큐 크기 및 로그 파일 설정
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix/sbin
data_directory = /var/lib/postfix
setgid_group = postdrop
mail_owner = postfix
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 메일 전송 방법 설정
inet_interfaces = all
inet_protocols = ipv4
# Gmail SMTP 서버를 통한 메일 전송 설정
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:your-email@gmail.com:your-app-password
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
# 메일 전송 로그 설정
maillog_file = /var/log/mail.log
debug_peer_level = 2
설정 파일을 저장한 후, Postfix를 재시작한다.
sudo systemctl restart postfix
Google 계정 보안 설정 페이지로 이동한다.
2단계 인증을 활성화합니다. 활성화 후, '앱 비밀번호' 옵션을 선택한다.

앱 비밀번호를 생성. 여기서 앱 이름은 Mail로 설정하고 비밀번호를 생성한다.

생성된 앱 비밀번호를 /etc/postfix/main.cf 파일의 smtp_sasl_password_maps 항목에 입력한다.
입력시 공백없이 16자리 입력하면 된다.
테스트 메일을 발송하려면, 아래 명령어를 사용한다.
echo "Test email body" | mail -s "Test email subject" your-email@gmail.com

이메일이 정상적으로 발송되었는지 확인하려면, 메일 로그를 확인한다.
tail -f /var/log/mail.log
status=sent 메시지가 확인되면 메일 발송이 성공적으로 발송된 것을 확인한다.