Chuyển phát và xác thực·Cập nhật 23 thg 8, 2026

Postfix và Dovecot: Vai trò khác nhau trong máy chủ nhận email

Xác định vị trí của Postfix, Dovecot, LMTP, hàng đợi và IMAP, rồi dùng bằng chứng để tìm ranh giới lỗi.

Được duyệt bởi Once Email kiểm duyệt kỹ thuật

Hướng dẫn này giúp bạn làm gì
Xác định lỗi thư đến nằm ở SMTP, hàng đợi, lưu trữ hộp thư hay truy cập IMAP.

Hướng dẫn bài viết

Vì sao bài viết này đáng đọc

Phân tích nguyên bản
Hướng dẫn theo dõi một thư qua tiếp nhận SMTP, hàng đợi, chuyển LMTP, lưu trữ và truy cập IMAP, sau đó gán từng dấu hiệu lỗi cho đúng thành phần có thể tạo ra nó.
Bối cảnh xu hướng
Postfix và Dovecot vẫn thường đi cùng nhau, nhưng bảng điều khiển và container che khuất ranh giới truyền tải, phát cuối và truy cập hộp thư, khiến chẩn đoán dễ sai.
Giá trị thực tế
Người vận hành có bảng quyết định và thứ tự kiểm tra để phân biệt từ chối SMTP, trì hoãn hàng đợi, lỗi ghi và lỗi IMAP mà không ghi lại nội dung nhạy cảm.

Postfix và Dovecot thường được cài cùng nhau nhưng không làm cùng một việc. Trong hệ thống nhận phổ biến, Postfix tiếp nhận SMTP và quản lý hàng đợi, còn Dovecot thực hiện phát cuối hoặc cung cấp hộp thư qua LMTP và IMAP. Một dịch vụ đang chạy không chứng minh toàn bộ luồng khỏe mạnh.

Đây là bản đồ chẩn đoán, không phải công thức production. DNS, TLS, xác minh người nhận, chống lạm dụng, quyền, sao lưu, giám sát và hạn chế relay cần thiết kế riêng. Once Email chỉ nhận thư; không cung cấp gửi SMTP, trả lời, chuyển tiếp hay gửi hàng loạt.

So sánh trực tiếp

Câu hỏiPostfixDovecot
Vai trò mạngNhận hoặc gửi SMTPCung cấp IMAP/POP3 và có thể nhận LMTP
Sở hữu hàng đợiKhông
Chấp nhận người nhận SMTPThường do Postfix cùng map/chính sáchCó thể cung cấp dữ liệu người dùng tùy thiết kế
Ghi vào hộp thư cuốiCục bộ/virtual hoặc ủy quyềnDovecot LMTP có thể phát cuối
Cho phép ứng dụng đọcKhôngCó, thường qua IMAP

Vì vậy “Postfix hay Dovecot” hiếm khi là lựa chọn sản phẩm. Câu hỏi hữu ích là trách nhiệm này kết thúc ở đâu và trách nhiệm tiếp theo bắt đầu ở đâu.

Theo dõi một thư đến

Kiến trúc Postfix chính thức mô tả thư mạng đi vào smtpd, qua cleanup rồi vào hàng đợi. Trình quản lý sau đó chọn tác nhân phát. Có bốn điểm kiểm tra:

  1. Kết nối SMTP: máy gửi từ xa tới được Postfix và thực hiện giao dịch.
  2. Chấp nhận: Postfix nhận hoặc từ chối người nhận envelope theo map và quy tắc.
  3. Hàng đợi và bàn giao: thư đã nhận đi tới local, virtual, pipe hoặc LMTP.
  4. Truy cập: sau khi phát, Dovecot cho ứng dụng được phép liệt kê và đọc qua IMAP.

Mã SMTP 250 không đồng nghĩa thư đã hiển thị. Postfix có thể nhận trước rồi trì hoãn vì LMTP, quota hoặc lưu trữ. Ngược lại, thư có thể đã lưu nhưng vô hình vì xác thực IMAP, chỉ mục, namespace hoặc quyền tệp.

LMTP nối hai dịch vụ

LMTP là một ranh giới phổ biến. Postfix giữ SMTP và hàng đợi rồi gọi Dovecot để phát cuối. Hướng dẫn LMTP của Dovecot trình bày socket Unix được bảo vệ trong spool Postfix.

Socket không chỉ là đường dẫn sao chép từ bài hướng dẫn. Chủ sở hữu, nhóm, mode, vị trí chroot và tình trạng dịch vụ tạo thành hợp đồng. Khi Postfix không thể truy cập, kết quả đúng thường là mục deferred, không phải giả vờ hộp thư trống. Sau khi LMTP nhận, bằng chứng quota và lưu trữ quan trọng hơn.

Không cấp quyền ghi cho mọi người để che lỗi. Xác định tài khoản dịch vụ cần truy cập và cấp tối thiểu. Không công khai LMTP nếu kiến trúc chưa định nghĩa xác thực và bảo vệ truyền tải.

Chẩn đoán bằng bằng chứng

Bằng chứngRanh giới kiểm tra trước
Không kết nối được cổng 25DNS, tường lửa, TLS hoặc smtpd Postfix
Từ chối người nhận trước phần nội dungMap/chính sách Postfix, có thể cả thư mục người dùng
SMTP nhận nhưng thư vẫn deferredHàng đợi Postfix và transport đã chọn
Socket LMTP thiếu hoặc bị từ chốiKết nối Postfix–Dovecot và quyền
LMTP báo quota hoặc ghi lỗiPhát Dovecot và lưu trữ
Tệp tồn tại nhưng IMAP không liệt kêXác thực, namespace, chỉ mục và quyền Dovecot

Dùng dấu thử duy nhất và cửa sổ thời gian hữu hạn. Chỉ giữ ID hàng đợi, lớp trạng thái SMTP, kết quả LMTP và kết quả hộp thư đã che. Không đưa địa chỉ thật, mã, token, tiêu đề, nội dung, tên tệp đính kèm hay URL đầy đủ vào log chung hoặc analytics.

Lập thẻ truy vết bốn trường trước khi đổi cấu hình

Với đúng một thư kiểm thử được phép, chỉ giữ bốn dữ kiện đã che thông tin. Ghép chúng lại mới biết việc nhận, hàng đợi, phát cuối và khả năng nhìn thấy có thuộc cùng giao dịch hay không:

Điểm kiểm traGiữ lạiĐiều chứng minh
SMTP chấp nhậnThời gian, lớp trạng thái mở rộng và ID hàng đợi rút gọnPostfix đã nhận giao dịch; chưa chứng minh phát cuối
Kết quả hàng đợiCùng ID rút gọn, transport và trạng thái delivered/deferredPostfix đã chọn đường phát và hoàn tất hoặc giữ lại
Kết quả LMTPThành công hoặc lớp lỗi, không có người nhận hay nội dungDovecot LMTP nhận phát cuối hoặc trả về nguyên nhân giới hạn
Khả năng nhìn thấySố thư trước/sau và kết quả đọc của ứng dụngKho lưu trữ thay đổi và đường đọc thực tế có hoặc không thấy kết quả

Bắt đầu bằng kiểm tra chỉ đọc. postqueue -p liệt kê hàng đợi; hãy lọc cục bộ theo ID rút gọn thay vì xuất toàn bộ. doveadm mailbox status -u TEST_USER "messages unseen" INBOX kiểm tra bộ đếm chỉ với danh tính thử nghiệm được phép. Tài liệu chính thức về công cụ hàng đợi Postfixtrạng thái mailbox Dovecot định nghĩa các tín hiệu này. Nếu thời gian và dấu truy vết đã che không khớp, chúng không chứng minh đó là cùng một thư.

Nhầm lớp và thứ tự an toàn

Cài Dovecot không tạo listener SMTP; cài Postfix không cung cấp hộp thư IMAP. SPF, DKIM và DMARC thuộc lớp khác: chúng cung cấp xác thực và alignment chứ không cung cấp truy cập. Hãy xem hướng dẫn SPF, DKIM và DMARC.

Hàng đợi trống không chứng minh thành công: thư có thể bounce, hết hạn, bị chính sách loại bỏ hoặc đã rời hàng đợi. Hộp thư trống cũng không chứng minh không có thư: truy vấn có thể lỗi, ứng dụng offline hoặc đang xem namespace khác. Hãy tách “không có kết quả”, “lỗi tạm thời” và “đã xác nhận trống”.

Kiểm tra endpoint SMTP, gửi đúng một thư thử được phép, ghi nhận Postfix chấp nhận, theo dõi hàng đợi và phát cuối, xác nhận hộp Dovecot rồi đọc bằng chính đường IMAP của ứng dụng. Xóa hộp thử và chỉ giữ bằng chứng đã che. Khởi động lại cả hai trước khi quan sát sẽ xóa thời gian và bằng chứng hàng đợi mà không giải thích nguyên nhân.

Cách đọc tiêu đề đã nhận và theo dõi đường dẫn gửi email
Theo dõi các trường tiêu đề Đã nhận theo đúng thứ tự, so sánh dấu thời gian một cách an toàn và nhận biết các giới hạn về tên máy chủ, địa chỉ IP và dữ liệu theo dõi không đáng tin cậy.
Cách sử dụng API email tạm thời mà không cần xây dựng các bài kiểm tra dễ lỗi
Một thiết kế thực tế để kiểm tra API email tạm thời: tách biệt từng lần chạy, thăm dò ý kiến ​​bằng thời gian chờ, xác định đúng thông báo, bảo vệ bí mật và luôn dọn dẹp.
Email xác minh không đến? Danh sách kiểm tra khắc phục sự cố an toàn
Xử lý các lỗi địa chỉ, sự chậm trễ của người gửi, số lần thử lại, lọc và giới hạn hộp thư mà không liên tục yêu cầu mã hoặc làm suy yếu tính bảo mật của tài khoản.
Trình phân tích tiêu đề email
Giải thích các chặng gửi và tóm tắt bằng chứng SPF, DKIM, DMARC mà không khẳng định tính xác thực tuyệt đối.