Table of Contents
Postfix 설치 (1/4) – 메일서버 설치 가이드
이 글에서는 Ubuntu 서버에서 Postfix를 이용해 기본적인 메일 송수신 기능을 구현하는 방법을 다룹니다.
환경 정보
- 도메인: example.com
- 서버 IP: 111.222.333.444
- OS: Ubuntu 20.04/22.04 LTS
사전 준비사항
1. DNS 레코드 설정
메일 서버 구축 전에 다음 DNS 레코드를 설정해야 합니다:
# A 레코드
mail.example.com. IN A 111.222.333.444
# MX 레코드
example.com. IN MX 10 mail.example.com.
# PTR 레코드 (역방향 DNS)
444.333.222.111.in-addr.arpa. IN PTR mail.example.com.
2. 방화벽 설정
필요한 포트를 열어줍니다:
sudo ufw allow 25 # SMTP
sudo ufw allow 587 # SMTP Submission
3. 호스트네임
hostname
sudo hostnamectl set-hostname mail.example.com
sudo vi /etc/hosts
......
127.0.0.1 localhost
127.0.1.1 mail.example.com mail
13.209.80.18 mail.example.com mail
......
Postfix 설치 및 기본 설정
1. 패키지 설치
# 시스템 업데이트
sudo apt update && sudo apt upgrade -y
# Postfix 설치
sudo apt install postfix mailutils -y
설치 중 설정 화면이 나타나면:
- General type of mail configuration: Internet Site 선택
- System mail name: example.com 입력
2. Postfix 기본 설정
메인 설정 파일을 편집합니다:
sudo vi /etc/postfix/main.cf
----------------------------
# 기본 설정
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 네트워크 설정
inet_protocols = ipv4
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
# 메일 저장 형식
home_mailbox = Maildir/
# 메시지 크기 제한 (25MB)
message_size_limit = 26214400
# SMTP 배너
smtpd_banner = $myhostname ESMTP
# 기본 보안 설정
smtpd_helo_required = yes
disable_vrfy_command = yes
# SMTP 릴레이 및 수신자 제한
smtpd_relay_restrictions =
defer_unauth_destination
compatibility_level = 2
----------------------------
3. 서비스 재시작 및 확인
# 설정 검증
sudo chown root:root /var/spool/postfix/etc/resolv.conf
sudo postfix check
# 서비스 재시작
sudo systemctl restart postfix
# 서비스 상태 확인
sudo systemctl status postfix
# 부팅시 자동 시작 설정
sudo systemctl enable postfix
사용자 계정 생성
메일을 송수신할 사용자를 생성합니다:
# 사용자 추가
sudo adduser user1
# 메일 디렉토리 생성
sudo mkdir /home/user1/Maildir
sudo chown user1:user1 /home/user1/Maildir
sudo chmod 700 /home/user1/Maildir
기본 테스트
1. 로컬 메일 전송 테스트
# 명령어를 통한 메일 전송
echo "테스트 메일 내용" | mail -s "테스트 제목" user1@example.com
sudo cat /home/user1/Maildir/new/*
# sudo sh -c 'cat /home/user1/Maildir/new/*'
2. 외부에서 메일 전송 테스트
지메일 등에서 user1@example.com 로 메일을 전송해 봅니다.
3. 메일 로그 확인
# 메일 로그 실시간 모니터링
# sudo apt install rsyslog
# sudo systemctl enable rsyslog
# sudo systemctl start rsyslog
sudo tail -f /var/log/mail.log
# Postfix 큐 상태 확인
sudo postqueue -p