반응형
Ubuntu 서버에서 메일 발송 기능이 필요할 때 가장 많이 사용되는 도구가 바로 Postfix입니다.
Postfix는 빠르고 안정적이며, 시스템 리소스를 적게 소모하는 오픈소스 메일 전송 에이전트(MTA, Mail Transfer Agent)입니다.
이번 글에서는 Ubuntu 공식 문서를 바탕으로 Postfix 설치부터 기본 설정, 로컬 메일 테스트 방법까지 단계별로 쉽게 설명드리겠습니다.
✉️ 왜 Postfix가 필요한가?
Postfix는 다음과 같은 경우 유용합니다.
- 서버에서 오류 알림, 백업 보고서 등 시스템 메시지를 이메일로 보내고 싶을 때
- 로컬 사용자 간 메일 송수신이 필요할 때
- 외부 SMTP를 설정하지 않고 서버 자체에서 메일을 발송하고자 할 때
🧱 사전 준비 사항
- Ubuntu 20.04 이상 버전
- 기본 root 권한 또는 sudo 사용자
- 로컬 메일 또는 단순 메일 발송만 사용하는 것이 목적 (외부 메일 수신은 별도 설정 필요)
📦 Step 1: Postfix 설치하기
sudo apt update
sudo apt install postfix mailutils
설치 중 다음과 같은 설정 마법사가 나타납니다:
🔧 주요 설정 항목
항목 설명 및 예시
General type of mail configuration | Internet Site 선택 |
System mail name | 예: example.com (서버 도메인 입력) |
Internet Site는 서버가 직접 메일을 인터넷으로 전송하도록 구성합니다.
설치가 완료되면 Postfix가 자동으로 실행됩니다.
반응형
⚙️ Step 2: 기본 설정 파일 확인 및 수정
Postfix의 주요 설정 파일은 /etc/postfix/main.cf입니다.
sudo nano /etc/postfix/main.cf
기본적으로 아래 항목들을 확인합니다:
myhostname = mail.example.com
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost
inet_interfaces = all
inet_protocols = all
변경 사항을 저장했으면 postfix를 재시작합니다:
sudo systemctl restart postfix
✉️ Step 3: 메일 발송 테스트
로컬 사용자에게 메일 보내기
echo "메일 본문입니다." | mail -s "테스트 메일 제목" 사용자명
예:
echo "시스템 백업이 완료되었습니다." | mail -s "백업 보고서" ubuntu
받은 메일 확인
mail
메일함에 들어가면 다음과 같은 UI가 뜹니다:
Heirloom Mail version 12.5. Type ? for help.
"/var/mail/ubuntu": 1 message 1 new
>N 1 ubuntu@example.com Mon Jun 17 09:00 15/450 "테스트 메일 제목"
읽기: 1 입력 후 Enter
삭제: d 1
종료: q
🌍 Step 4: 외부 도메인으로 메일 발송 (선택)
로컬 메일 발송만으로는 외부 수신자(Gmail, Naver 등)에게 메일이 도달하지 않을 수 있습니다. 이때는 스마트호스트(SMTP 중계 서버) 설정이 필요합니다.
예: Gmail SMTP 중계를 사용하는 경우 (smtp.gmail.com)
- 인증 정보 저장
sudo nano /etc/postfix/sasl_passwd
내용:
[smtp.gmail.com]:587 yourid@gmail.com:yourpassword
- 권한 설정 및 해시 생성
sudo postmap /etc/postfix/sasl_passwd
sudo chmod 600 /etc/postfix/sasl_passwd*
- main.cf 수정
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
- postfix 재시작
sudo systemctl restart postfix
외부 메일 발송 시 SPF, DKIM, PTR 설정도 권장됩니다 (스팸 분류 방지 목적).
🧠 Step 5: 주요 명령어 정리
명령어 기능
받은 메일 확인 | |
mailq | 메일 큐 확인 |
postfix flush | 대기 중인 메일 즉시 전송 |
postfix reload | 설정 변경 후 재적용 |
systemctl status postfix | 서비스 상태 확인 |
🧪 시스템 알림 자동화 예시
시스템에서 자동 알림을 보내고 싶을 때는 다음처럼 스크립트에 활용할 수 있습니다.
#!/bin/bash
df -h / | mail -s "디스크 사용량 경고" admin@example.com
✅ 마무리 요약
- Postfix는 Ubuntu에서 기본적으로 잘 통합되어 있으며 간편하게 메일 발송이 가능합니다.
- 내부 또는 개발용 서버에서 시스템 알림용 로컬 메일로 충분히 유용하게 활용할 수 있습니다.
- 외부 도메인으로 메일을 보내려면 스마트호스트 설정 및 보안 인증이 필수입니다.
반응형
'Program' 카테고리의 다른 글
Ubuntu에 Squid 프록시 서버 설치 및 설정 가이드 (0) | 2025.06.17 |
---|---|
Ubuntu에서 Exim4 메일 서버 설치 및 설정 가이드 – 실무형 SMTP 구축 완전정복 (0) | 2025.06.17 |
Ubuntu에서 OpenLDAP 사용자 및 그룹 관리 완전 가이드 (0) | 2025.06.17 |
OpenLDAP 복제 설정 가이드: Ubuntu 서버에서 마스터-리플리카 구성하기 (1) | 2025.06.17 |
Ubuntu OpenLDAP 접근 제어(ACL) 완벽 정리 - 실무 중심 가이드 (0) | 2025.06.17 |