Proxmox 이메일 알림 설정하기

Proxmox 이메일 알림 설정하기

안녕하세요. 팡킨입니다.

이번에는 Proxmox 이메일 알림 설정을 해보겠습니다. 이메일 알림을 설정하시면 백업 알림이나 디스크 상태 등에 대한 알림을 받아보실 수 있습니다. 저는 구글 워크스페이스를 사용하고 있기 때문에 GMail 기준으로 작성하겠습니다. 아마 다른 이메일도 비슷하게 하시면 될겁니다.

앱 비밀번호 만들기

구글 계정에서 2단계 인증을 사용하는 경우 일반 비밀번호로 로그인 시 2단계 인증이 필요합니다. 하지만 cli상에서는 2단계 인증이 불가능하기 때문에 2단계 인증이 필요 없는 앱 패스워드를 만드셔야 합니다.

Google 계정 관리 - 보안 - 2단게 인증 - 앱 비밀번호에서 비밀번호를 만드시면 됩니다.

postfix 설치 및 세팅

메일 발송을 위해 postfix를 사용합니다. ssh나 pve 웹을 통해 쉘로 접근하세요.

패키지 설치

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

이메일 계정 정보 등록

postfix에서 사용할 smtp 주소와 계정 정보를 입력합니다.

nano /etc/postfix/sasl_passwd

위 명령으로 파일을 연 후 아래 내용을 입력합니다.

smtp.gmail.com [이메일 주소]:[앱 비밀번호]

일반 구글 계정의 경우 @gmail.com을 붙여주셔야 합니다.

저장한 후 아래 명령을 통해 계정 정보를 해시하고 권한을 변경합니다.

postmap hash:/etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd

postfix 설정 변경

postfix에서 이메일을 발송할 때 smtp를 사용하도록 설정을 변경하겠습니다. postfix 설정파일인 /etc/postfix/main.cf를 에디터로 열겠습니다.

nano /etc/postfix/main.cf

기존에 있던 relayhost를 주석 처리 해두시고 파일의 끝에 아래 내용을 추가하세요.

inet_protocols = all
relayhost = smtp.gmail.com:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/Entrust_Root_Certification_Authority.pem
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtp_tls_session_cache_timeout = 3600s

저장 후 postfix reload 명령으로 설정 파일을 적용합니다.

발송 테스트

아래 명령으로 발송 테스트를 합니다.

echo "테스트" | mail -s "테스트 제목" [이메일 주소]

보낸사람 변경

위 사진을 보시면 아시겠지만, 보낸사람 이름이 root로 나옵니다. 또한 저는 구글 계정에 이메일 주소가 여러 개라 보내는 주소를 다른 이메일 주소로 변경하려고 하는데요.

nano /etc/postfix/header_check

위 명령으로 파일을 연 후 아래 내용을 입력합니다.

/From:.*/ REPLACE From: [보낸사람 이름] <[이메일 주소]>

저장한 후 main.cf 파일 끝에 아래 내용을 추가합니다.

smtp_header_checks = regexp:/etc/postfix/header_check

저장 후 postfix reload 명령으로 설정 파일을 적용합니다. 테스트 메일을 다시 보내면 보낸 사람 이름이 변경되어 있습니다.