새소식

반응형
Ubuntu/SETTING

우분투에서 SMTP 서버를 구축해보자 (feat.postfix)

  • -
반응형

Ubuntu에서 Postfix로 SMTP 서버 구축 및 사용하기: 완벽 가이드

SMTP 서버를 구축하면 직접 이메일을 전송할 수 있는 서버를 운영할 수 있습니다. 이 가이드에서는 UbuntuPostfix를 설치하고, 기본 설정부터 테스트 및 보안 설정까지 단계별로 설명합니다.


1. Postfix란?

Postfix는 Linux에서 가장 널리 사용되는 **메일 전송 에이전트(MTA)**로, SMTP를 통해 이메일을 전송 및 수신할 수 있도록 도와줍니다. 빠르고 보안이 잘 되어 있으며 설정이 비교적 쉽습니다.


2. Postfix 설치

1) 시스템 업데이트 및 Postfix 설치

sudo apt update
sudo apt install postfix -y

설치 과정에서 Postfix 설정 마법사가 실행됩니다. 아래 단계를 참고하여 설정합니다.

2) 설정 마법사에서 입력할 값

  1. General type of mail configuration:
    • Internet Site 선택
  2. System mail name:
    • 예: example.com (메일을 전송할 도메인)
  3. Root and postmaster mail recipient:
    • 비워두고 Enter
  4. Mail name:
    • 예: example.com
  5. Force synchronous updates on mail queue:
    • No 선택
  6. Local networks:
    • 기본값 사용 (127.0.0.0/8 등)
  7. Use procmail for local delivery:
    • No 선택
  8. Mailbox size limit:
    • 기본값(0) 사용
  9. Local address extension character:
    • 기본값(+) 사용
  10. Internet protocols to use:
    • all 선택

설치 후 기본 Postfix 설정이 완료됩니다.


3. Postfix 설정 수정

1) 메인 설정 파일 수정

Postfix 설정 파일을 열어 추가 설정을 합니다.

sudo vim /etc/postfix/main.cf
 

다음 항목을 확인하거나 추가하세요.

# 호스트명 설정
myhostname = mail.example.com

# 메일 도메인 설정
mydomain = example.com

# 메일 서버 이름 설정
myorigin = $mydomain

# 외부 메일 전송 허용
inet_interfaces = all

# 허용된 네트워크 설정
mynetworks = 127.0.0.0/8, [::1]/128

# 송신자 도메인 제한
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

설정을 저장하고 닫습니다.


4. 방화벽 설정

SMTP는 포트 25를 사용합니다. 방화벽에서 이 포트를 허용해야 합니다.

 
sudo ufw allow 25/tcp
sudo ufw reload

5. Postfix 재시작 및 상태 확인

설정을 적용하려면 Postfix를 다시 시작해야 합니다.

 
sudo systemctl restart postfix
sudo systemctl enable postfix
sudo systemctl status postfix​

 

active (running) 상태가 출력되면 Postfix가 정상적으로 실행 중입니다.


6. 테스트: SWAKS로 이메일 전송 확인

1) SWAKS(Swiss Army Knife for SMTP) 설치

SWAKS는 이메일 전송 테스트에 유용한 도구입니다.

 
sudo apt install swaks

2) SWAKS를 사용한 이메일 전송 테스트

다음 명령어로 테스트 이메일을 보냅니다:

swaks --to recipient@example.com --from user@example.com --server localhost​
 
  • --to: 수신자 이메일 주소 (예: recipient@example.com)
  • --from: 발신자 이메일 주소 (예: user@example.com)
  • --server: SMTP 서버 (여기서는 localhost)

3) Postfix 로그 확인

메일이 정상적으로 전송되었는지 로그를 확인합니다.

sudo tail -f /var/log/mail.log

로그에서 status=sent 메시지가 나타나면 메일이 성공적으로 전송된 것입니다.


7. 보안 설정 (SPF, DKIM, DMARC)

1) SPF 설정()

DNS 설정에 다음과 같은 TXT 레코드를 추가합니다.

v=spf1 ip4:서버_IP ~all

ex)
v=spf1 ip4:1.237.54.150 ~all

2) DKIM 설정 (OpenDKIM 설치)

DKIM은 메일 서명에 사용되며 신뢰성을 높입니다.

sudo apt install opendkim opendkim-tools

설정은 추가 가이드를 참고하세요.

3) DMARC 설정

DNS에 DMARC 레코드를 추가하여 보안 정책을 설정합니다.

v=DMARC1; p=none; rua=mailto:report@example.com

ex)
v=DMARC1; p=none; rua=mailto:report@intelloper.com
 
 
SPF(TXT) 설정 참고 사진

 

SPF(TXT) 설정 참고 사진

 

8. 외부 SMTP 클라이언트 설정

Postfix 서버를 클라이언트(예: Thunderbird, Outlook)와 연결하려면 다음을 설정하세요.

  • SMTP 서버: mail.example.com
  • 포트: 25 또는 587
  • 암호화: STARTTLS
  • 인증: 사용자 이름/비밀번호 사용

결론

이 가이드를 따라 Ubuntu에서 Postfix를 설치하고 SMTP 서버를 구축할 수 있습니다. 추가로 SPF, DKIM, DMARC 설정을 통해 메일 전송의 신뢰성을 높이고, Gmail과 같은 주요 메일 서비스에서 스팸 필터를 피할 수 있습니다. Postfix로 자체 SMTP 서버를 관리하면 이메일 전송을 더욱 자유롭게 운영할 수 있습니다.

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.