전달 및 인증·업데이트 2026년 8월 23일

Postfix와 Dovecot의 차이: 수신 메일 서버의 역할과 진단

Postfix, Dovecot, LMTP, 큐, IMAP의 경계를 이해하고 증거로 수신 실패 지점을 판단합니다.

검토 Once Email 기술 검토

이 가이드로 할 수 있는 일
수신 오류가 SMTP, 큐 전달, 사서함 저장 또는 IMAP 접근 중 어디에 있는지 판단합니다.

글 안내

이 글을 읽을 가치

독창적 분석
한 수신 메시지를 SMTP 수락, 큐, LMTP 전달, 저장, IMAP 접근으로 나누고 각 실패 신호를 실제로 담당하는 구성 요소에 연결합니다.
동향 설명
Postfix와 Dovecot은 계속 함께 사용되지만 컨테이너와 관리 패널이 전송, 최종 전달, 사서함 접근의 경계를 숨겨 잘못된 진단을 만들 수 있습니다.
실용적 가치
운영자는 민감한 본문을 기록하지 않고 SMTP 거부, 큐 지연, 저장 실패, IMAP 접근 오류를 구분하는 표와 점검 순서를 얻습니다.

Postfix와 Dovecot은 자주 함께 설치되지만 같은 일을 하지 않습니다. 일반적인 수신 시스템에서 Postfix는 SMTP를 수락하고 큐를 관리하며, Dovecot은 LMTP 최종 전달 또는 IMAP 사서함 접근을 담당합니다. 한 서비스가 실행 중이라는 사실만으로 전체 수신 흐름이 정상이라고 할 수 없습니다.

이 글은 진단 지도이지 운영 환경의 복사형 설정법이 아닙니다. 실제 운영에는 DNS, TLS, 수신자 검증, 남용 방지, 권한, 백업, 모니터링, 릴레이 제한이 필요합니다. Once Email은 수신 전용이며 SMTP 발신, 답장, 전달, 대량 발송을 제공하지 않습니다.

역할 비교

질문PostfixDovecot
주요 네트워크 역할SMTP 수신 또는 발신IMAP/POP3 제공, LMTP 수신 가능
메일 큐 소유아니요
SMTP 수신자 승인보통 Postfix 맵과 정책설계에 따라 사용자 자료 제공
최종 사서함 기록로컬/가상 전달 또는 위임Dovecot LMTP 최종 전달 가능
클라이언트 읽기제공하지 않음보통 IMAP으로 제공

따라서 “Postfix 또는 Dovecot”은 보통 제품 선택이 아닙니다. 한 책임이 끝나고 다음 책임이 시작되는 경계를 알아야 합니다.

한 수신 메시지 추적

Postfix 공식 아키텍처는 네트워크 메일이 smtpd와 cleanup을 거쳐 큐에 들어가고 큐 관리자가 전달 에이전트를 선택하는 과정을 설명합니다.

  1. SMTP 연결: 원격 발신 서버가 Postfix에 도달해 거래를 수행합니다.
  2. 수락: Postfix가 맵과 규칙에 따라 envelope 수신자를 수락하거나 거부합니다.
  3. 큐와 인계: 수락된 메시지가 local, virtual, pipe 또는 LMTP로 이동합니다.
  4. 접근: 전달 후 Dovecot이 승인된 클라이언트에 IMAP 읽기를 제공합니다.

SMTP 250은 사서함에 보인다는 뜻이 아닙니다. Postfix가 수락한 뒤 LMTP, quota, 저장 오류로 deferred 상태가 될 수 있습니다. 반대로 저장은 되었지만 IMAP 인증, 인덱스, namespace 또는 파일 권한 때문에 보이지 않을 수도 있습니다.

LMTP가 두 서비스를 연결하는 방법

Postfix가 SMTP와 큐를 유지하고 Dovecot LMTP에 최종 전달을 맡기는 구성이 흔합니다. Dovecot LMTP 안내는 Postfix spool 내부의 보호된 Unix socket을 보여 줍니다.

socket은 단순히 복사할 경로가 아닙니다. 소유자, 그룹, 모드, chroot 위치와 서비스 상태가 하나의 계약입니다. Postfix가 접근할 수 없으면 일반적으로 큐 항목을 지연해야 하며 빈 사서함으로 위장해서는 안 됩니다. LMTP가 수락한 뒤에는 quota와 저장 증거를 우선합니다.

권한 문제를 감추기 위해 모든 사용자에게 쓰기 권한을 주지 마십시오. 필요한 서비스 계정을 확인하고 최소 권한만 부여합니다. 인증과 전송 보호를 설계하지 않은 상태로 LMTP를 공개하지 않습니다.

증거 기반 진단

증거먼저 확인할 경계
25번 포트 연결 불가DNS, 방화벽, TLS, Postfix smtpd
본문 전에 수신자 거부Postfix 수신자 맵과 정책
SMTP 수락 후 deferredPostfix 큐와 선택된 transport
LMTP socket 없음/권한 거부Postfix–Dovecot 연결과 권한
LMTP quota/쓰기 실패Dovecot 전달과 저장소
파일은 있지만 IMAP에 없음Dovecot 인증, namespace, 인덱스, 권한

고유한 테스트 표시와 제한된 시간 범위를 사용합니다. 큐 ID, SMTP 상태 분류, LMTP 결과와 마스킹된 사서함 결과만 보관합니다. 실제 주소, 인증 코드, Token, 제목, 본문, 첨부 이름, 전체 URL을 공유 로그나 Analytics에 보내지 않습니다.

설정을 바꾸기 전에 4개 필드 추적 카드를 만드세요

승인된 테스트 메시지 한 건에 대해 비식별화한 네 가지 사실만 보관합니다. 이를 연결해야 수신, 큐 인계, 최종 배달, 사서함 표시가 같은 트랜잭션인지 판단할 수 있습니다.

확인점보관 항목입증 범위
SMTP 수신시간, 확장 상태 클래스, 축약 큐 IDPostfix가 트랜잭션을 수신했음을 뜻하며 최종 배달 증명은 아님
큐 결과같은 축약 ID, transport 이름, delivered/deferred 상태Postfix가 전송 경로를 선택하고 완료하거나 보류했음
LMTP 결과수신자와 본문이 없는 성공 또는 오류 클래스Dovecot LMTP가 최종 배달을 수락했거나 제한된 원인을 반환함
표시 결과전후 사서함 개수와 애플리케이션 읽기 결과저장소 변화와 실제 읽기 경로의 가시성을 확인함

먼저 읽기 전용으로 검사합니다. postqueue -p는 큐를 나열하므로 전체를 내보내지 말고 축약 ID로 로컬 필터링합니다. doveadm mailbox status -u TEST_USER "messages unseen" INBOX는 승인된 테스트 ID로만 카운터를 확인합니다. 공식 Postfix 큐 도구Dovecot mailbox status가 값의 의미를 정의합니다. 시간과 비식별 마커도 일치하지 않으면 같은 메시지라는 증거가 아닙니다.

범주 오류와 안전한 확인 순서

Dovecot 설치만으로 SMTP listener가 생기지 않고 Postfix만으로 IMAP 사서함이 제공되지 않습니다. SPF, DKIM, DMARC는 인증과 alignment를 제공하는 별도 계층입니다. 인증 결과 안내를 사용하십시오.

빈 큐는 성공의 증거가 아닙니다. bounce, 만료, 명시적 폐기 또는 이미 전달된 경우가 있습니다. 빈 사서함도 미도착 증거가 아닙니다. 조회 실패, 오프라인, 다른 namespace일 수 있습니다. “결과 없음”, “일시 실패”, “빈 상태 확인”을 구분합니다.

SMTP endpoint를 확인하고 승인된 고유 테스트 한 통을 보내 Postfix 수락, 큐와 최종 전달, Dovecot 저장, 실제 IMAP 읽기 순으로 추적합니다. 테스트 사서함을 삭제하고 마스킹된 증거만 남깁니다. 관찰 전에 두 서비스를 재시작하면 시간과 큐 증거가 사라지고 원인은 여전히 설명되지 않습니다.

수신된 헤더를 읽고 이메일 전달 경로를 추적하는 방법
수신된 헤더 필드를 올바른 순서로 따르고, 타임스탬프를 안전하게 비교하고, 호스트 이름, IP 주소 및 신뢰할 수 없는 추적 데이터의 한계를 인식하세요.
불안정한 테스트를 구축하지 않고 임시 이메일 API를 사용하는 방법
임시 이메일 API 테스트를 위한 실용적인 디자인: 각 실행을 분리하고, 백오프로 폴링하고, 올바른 메시지를 식별하고, 비밀을 보호하고, 항상 정리합니다.
확인 이메일이 도착하지 않습니까? 안전한 문제 해결 체크리스트
반복적으로 코드를 요청하거나 계정 보안을 약화시키지 않고도 주소 실수, 발신자 지연, 재시도, 필터링 및 사서함 제한을 해결합니다.
이메일 헤더 분석기
전달 경로와 SPF, DKIM, DMARC 증거를 설명하며 절대적인 진위 여부를 단정하지 않습니다.