Hỗ Trợ Giao Thức RFC Email - Hướng Dẫn Tiêu Chuẩn & Đặc Tả Hoàn Chỉnh

Cảnh Thư Viện Giao Thức Email RFC

Về Tài Liệu Này

Tài liệu này trình bày hỗ trợ giao thức RFC (Request for Comments) cho Forward Email. Vì Forward Email sử dụng WildDuck làm nền tảng cho chức năng IMAP/POP3, nên hỗ trợ giao thức và các giới hạn được ghi trong đây phản ánh việc triển khai của WildDuck.

Important

Forward Email sử dụng SQLite để lưu trữ tin nhắn thay vì MongoDB (mà WildDuck ban đầu sử dụng). Điều này ảnh hưởng đến một số chi tiết triển khai được ghi dưới đây.

Mã Nguồn: https://github.com/forwardemail/forwardemail.net

Tổng Quan Kiến Trúc


So Sánh Dịch Vụ Email - Hỗ Trợ Giao Thức & Tuân Thủ Tiêu Chuẩn RFC

Important

Mã Hóa Kháng Lượng Tử và Được Cách Ly: Forward Email là dịch vụ email duy nhất lưu trữ các hộp thư SQLite được mã hóa riêng biệt bằng mật khẩu của bạn (chỉ bạn mới có). Mỗi hộp thư được mã hóa bằng sqleet (ChaCha20-Poly1305), tự chứa, được cách ly và có thể di động. Nếu bạn quên mật khẩu, bạn sẽ mất hộp thư - ngay cả Forward Email cũng không thể khôi phục. Xem Quantum-Safe Encrypted Email để biết chi tiết.

So sánh hỗ trợ giao thức email và việc triển khai tiêu chuẩn RFC giữa các nhà cung cấp email lớn:

Tính Năng Forward Email Postfix/Dovecot Gmail iCloud Mail Outlook.com Fastmail Yahoo/AOL (Verizon) ProtonMail Tutanota
Giá Tên Miền Tùy Chỉnh Miễn phí Miễn phí $7.20/tháng $0.99/tháng $7.20/tháng $5/tháng $3.19/tháng $4.99/tháng $3.27/tháng
IMAP4rev1 (RFC 3501) Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ ⚠️ Qua Bridge ❌ Không Hỗ Trợ
IMAP4rev2 (RFC 9051) ⚠️ Một phần ⚠️ Một phần ⚠️ 31% ⚠️ 92% ⚠️ 46% ⚠️ 69% ⚠️ 85% ⚠️ Qua Bridge ❌ Không Hỗ Trợ
POP3 (RFC 1939) Hỗ trợ Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ Hỗ trợ Hỗ trợ ⚠️ Qua Bridge ❌ Không Hỗ Trợ
SMTP (RFC 5321) Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ ⚠️ Qua Bridge ❌ Không Hỗ Trợ
JMAP (RFC 8620) Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ Hỗ trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ
DKIM (RFC 6376) Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ
SPF (RFC 7208) Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ
DMARC (RFC 7489) Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ
ARC (RFC 8617) Hỗ trợ Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ
MTA-STS (RFC 8461) Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ
DANE (RFC 7671) Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ Hỗ trợ Hỗ trợ
DSN (RFC 3461) Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ Hỗ trợ ⚠️ Không rõ ❌ Không Hỗ Trợ ⚠️ Qua Bridge ❌ Không Hỗ Trợ
REQUIRETLS (RFC 8689) Hỗ trợ Hỗ trợ ⚠️ Không rõ ⚠️ Không rõ ⚠️ Không rõ ⚠️ Không rõ ⚠️ Không rõ ⚠️ Qua Bridge ❌ Không Hỗ Trợ
ManageSieve (RFC 5804) Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ Hỗ trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ
OpenPGP (RFC 9580) Hỗ trợ ⚠️ Qua Plugins ⚠️ Bên thứ ba ⚠️ Bên thứ ba ⚠️ Bên thứ ba ⚠️ Bên thứ ba ⚠️ Bên thứ ba Bản địa ❌ Không Hỗ Trợ
S/MIME (RFC 8551) Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ ⚠️ Một phần ❌ Không Hỗ Trợ Hỗ trợ ❌ Không Hỗ Trợ
CalDAV (RFC 4791) Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ ❌ Không Hỗ Trợ Qua Bridge ❌ Không Hỗ Trợ
CardDAV (RFC 6352) Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ ❌ Không Hỗ Trợ Qua Bridge ❌ Không Hỗ Trợ
Tasks (VTODO) Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ
Sieve (RFC 5228) Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ Hỗ trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ
Catch-All Hỗ trợ ✅ Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Không Hỗ Trợ Hỗ trợ ❌ Không Hỗ Trợ ❌ Không Hỗ Trợ Hỗ trợ
Alias Không Giới Hạn Hỗ trợ ✅ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ Hỗ trợ
Xác Thực Hai Yếu Tố Hỗ trợ ✅ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ
Thông Báo Đẩy Hỗ trợ ⚠️ Qua Plugins Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ Hỗ trợ
Lịch/ Danh Bạ Trên Máy Tính Hỗ trợ ✅ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ ❌ Không Hỗ Trợ
Tìm Kiếm Nâng Cao Hỗ trợ ✅ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ Hỗ trợ
API/ Tích Hợp 39 Endpoints ✅ Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ Hỗ trợ ❌ Không Hỗ Trợ Hỗ trợ ❌ Không Hỗ Trợ

Hiển Thị Hỗ Trợ Giao Thức


Giao Thức Email Cốt Lõi

Luồng Giao Thức Email

Giao Thức Email IMAP4 và Các Mở Rộng

Note

Forward Email hỗ trợ IMAP4rev1 (RFC 3501) với hỗ trợ một phần cho các tính năng IMAP4rev2 (RFC 9051).

Forward Email cung cấp hỗ trợ IMAP4 mạnh mẽ thông qua việc triển khai máy chủ thư WildDuck. Máy chủ này thực thi IMAP4rev1 (RFC 3501) với hỗ trợ một phần cho các mở rộng IMAP4rev2 (RFC 9051).

Chức năng IMAP của Forward Email được cung cấp bởi phụ thuộc WildDuck. Các RFC email sau được hỗ trợ:

RFC Tiêu đề Ghi chú Triển khai
RFC 3501 Internet Message Access Protocol (IMAP) - Phiên bản 4rev1 Hỗ trợ đầy đủ với các khác biệt có chủ ý (xem bên dưới)
RFC 2177 Lệnh IMAP4 IDLE Thông báo theo kiểu đẩy
RFC 2342 Không gian tên IMAP4 Hỗ trợ không gian tên hộp thư
RFC 2087 Mở rộng IMAP4 QUOTA Quản lý hạn mức lưu trữ
RFC 2971 Mở rộng IMAP4 ID Xác định máy khách/máy chủ
RFC 5161 Mở rộng IMAP4 ENABLE Kích hoạt các mở rộng IMAP
RFC 4959 Mở rộng IMAP cho Phản hồi Khởi đầu Máy khách SASL (SASL-IR) Phản hồi khởi đầu của máy khách
RFC 3691 Lệnh IMAP4 UNSELECT Đóng hộp thư mà không EXPUNGE
RFC 4315 Mở rộng IMAP UIDPLUS Các lệnh UID nâng cao
RFC 7162 Mở rộng IMAP: Đồng bộ lại Thay đổi Cờ Nhanh (CONDSTORE) STORE có điều kiện
RFC 6154 Mở rộng IMAP LIST cho Hộp Thư Sử Dụng Đặc Biệt Thuộc tính hộp thư đặc biệt
RFC 6851 Mở rộng IMAP MOVE Lệnh MOVE nguyên tử
RFC 6855 Hỗ trợ IMAP cho UTF-8 Hỗ trợ UTF-8
RFC 3348 Mở rộng IMAP4 Child Mailbox Thông tin hộp thư con
RFC 7889 Mở rộng IMAP4 cho Quảng Cáo Kích Thước Tải Lên Tối Đa (APPENDLIMIT) Kích thước tải lên tối đa
Các phần mở rộng IMAP được hỗ trợ:
Extension RFC Trạng thái Mô tả
IDLE RFC 2177 ✅ Được hỗ trợ Thông báo theo kiểu đẩy
NAMESPACE RFC 2342 ✅ Được hỗ trợ Hỗ trợ không gian tên hộp thư
QUOTA RFC 2087 ✅ Được hỗ trợ Quản lý hạn mức lưu trữ
ID RFC 2971 ✅ Được hỗ trợ Xác định máy khách/máy chủ
ENABLE RFC 5161 ✅ Được hỗ trợ Kích hoạt các phần mở rộng IMAP
SASL-IR RFC 4959 ✅ Được hỗ trợ Phản hồi ban đầu của máy khách
UNSELECT RFC 3691 ✅ Được hỗ trợ Đóng hộp thư mà không EXPUNGE
UIDPLUS RFC 4315 ✅ Được hỗ trợ Các lệnh UID nâng cao
CONDSTORE RFC 7162 ✅ Được hỗ trợ STORE có điều kiện
SPECIAL-USE RFC 6154 ✅ Được hỗ trợ Thuộc tính đặc biệt của hộp thư
MOVE RFC 6851 ✅ Được hỗ trợ Lệnh MOVE nguyên tử
UTF8=ACCEPT RFC 6855 ✅ Được hỗ trợ Hỗ trợ UTF-8
CHILDREN RFC 3348 ✅ Được hỗ trợ Thông tin hộp thư con
APPENDLIMIT RFC 7889 ✅ Được hỗ trợ Kích thước tải lên tối đa
XLIST Phi tiêu chuẩn ✅ Được hỗ trợ Liệt kê thư mục tương thích Gmail
XAPPLEPUSHSERVICE Phi tiêu chuẩn ✅ Được hỗ trợ Dịch vụ Thông báo Đẩy của Apple

Sự khác biệt giao thức IMAP so với các đặc tả RFC

Warning

Các khác biệt sau so với đặc tả RFC có thể ảnh hưởng đến khả năng tương thích của máy khách.

Forward Email cố ý khác biệt so với một số đặc tả IMAP RFC. Những khác biệt này kế thừa từ WildDuck và được ghi lại dưới đây:

  • Không có cờ \Recent: Cờ \Recent không được triển khai. Tất cả các tin nhắn được trả về mà không có cờ này.
  • RENAME không ảnh hưởng đến thư mục con: Khi đổi tên một thư mục, các thư mục con không tự động đổi tên. Cấu trúc thư mục phẳng trong cơ sở dữ liệu.
  • INBOX không thể đổi tên: RFC 3501 cho phép đổi tên INBOX, nhưng Forward Email rõ ràng cấm điều này. Xem mã nguồn WildDuck.
  • Không có phản hồi FLAGS không yêu cầu: Khi cờ thay đổi, không gửi phản hồi FLAGS không yêu cầu đến máy khách.
  • STORE trả về NO cho tin nhắn đã xóa: Cố gắng sửa đổi cờ trên tin nhắn đã xóa trả về NO thay vì bỏ qua im lặng.
  • CHARSET bị bỏ qua trong SEARCH: Tham số CHARSET trong lệnh SEARCH bị bỏ qua. Tất cả tìm kiếm sử dụng UTF-8.
  • Metadata MODSEQ bị bỏ qua: Metadata MODSEQ trong lệnh STORE bị bỏ qua.
  • SEARCH TEXT và SEARCH BODY: Forward Email sử dụng SQLite FTS5 (Tìm kiếm toàn văn bản) thay vì tìm kiếm $text của MongoDB. Điều này cung cấp:
    • Hỗ trợ toán tử NOT (MongoDB không hỗ trợ)
    • Kết quả tìm kiếm được xếp hạng
    • Hiệu suất tìm kiếm dưới 100ms trên các hộp thư lớn
  • Hành vi tự động expunge: Tin nhắn đánh dấu \Deleted sẽ tự động bị expunge khi đóng hộp thư.
  • Độ trung thực của tin nhắn: Một số sửa đổi tin nhắn có thể không giữ nguyên cấu trúc tin nhắn gốc chính xác.

Hỗ trợ một phần IMAP4rev2:

Forward Email triển khai IMAP4rev1 (RFC 3501) với hỗ trợ một phần IMAP4rev2 (RFC 9051). Các tính năng IMAP4rev2 sau đây chưa được hỗ trợ:

  • LIST-STATUS - Kết hợp lệnh LIST và STATUS
  • LITERAL- - Literal không đồng bộ (biến thể trừ)
  • OBJECTID - Định danh đối tượng duy nhất
  • SAVEDATE - Thuộc tính ngày lưu
  • REPLACE - Thay thế tin nhắn nguyên tử
  • UNAUTHENTICATE - Đóng xác thực mà không đóng kết nối

Xử lý cấu trúc thân thư thư giãn:

Forward Email sử dụng xử lý "thân thư thư giãn" cho các cấu trúc MIME bị lỗi, có thể khác với cách hiểu nghiêm ngặt theo RFC. Điều này cải thiện khả năng tương thích với các email thực tế không hoàn toàn tuân thủ tiêu chuẩn. Phần mở rộng METADATA (RFC 5464):

Phần mở rộng METADATA của IMAP không được hỗ trợ. Để biết thêm thông tin về phần mở rộng này, xem RFC 5464. Thảo luận về việc thêm tính năng này có thể được tìm thấy trong WildDuck Issue #937.

Các phần mở rộng IMAP KHÔNG được hỗ trợ

Các phần mở rộng IMAP sau từ IANA IMAP Capabilities Registry KHÔNG được hỗ trợ:

RFC Tiêu đề Lý do
RFC 2086 Phần mở rộng ACL của IMAP4 Thư mục chia sẻ chưa được triển khai. Xem WildDuck Issue #427
RFC 5256 Phần mở rộng IMAP SORT và THREAD Tính năng threading được triển khai nội bộ nhưng không qua giao thức RFC 5256. Xem WildDuck Issue #12
RFC 5162 Phần mở rộng IMAP4 cho Đồng bộ lại Hộp thư Nhanh (QRESYNC) Chưa được triển khai
RFC 5464 Phần mở rộng METADATA của IMAP Các thao tác metadata bị bỏ qua. Xem tài liệu WildDuck
RFC 5258 Phần mở rộng Lệnh LIST của IMAP4 Chưa được triển khai
RFC 5267 Ngữ cảnh cho IMAP4 Chưa được triển khai
RFC 5465 Phần mở rộng NOTIFY của IMAP Chưa được triển khai
RFC 5466 Phần mở rộng FILTERS của IMAP4 Chưa được triển khai
RFC 6203 Phần mở rộng IMAP4 cho Tìm kiếm Mờ Chưa được triển khai
RFC 6785 Khuyến nghị Triển khai IMAP4 Các khuyến nghị chưa được tuân thủ đầy đủ
RFC 7162 Các phần mở rộng IMAP: Đồng bộ lại Thay đổi Cờ Nhanh (CONDSTORE) và Đồng bộ lại Hộp thư Nhanh (QRESYNC) Chưa được triển khai
RFC 8437 Phần mở rộng UNAUTHENTICATE của IMAP cho Tái sử dụng Kết nối Chưa được triển khai
RFC 8438 Phần mở rộng IMAP cho STATUS=SIZE Chưa được triển khai
RFC 8457 Từ khóa "$Important" và Thuộc tính Sử dụng đặc biệt "\Important" của IMAP Chưa được triển khai
RFC 8474 Phần mở rộng IMAP cho Định danh Đối tượng Chưa được triển khai
RFC 9051 Giao thức Truy cập Thư điện tử Internet (IMAP) - Phiên bản 4rev2 Forward Email triển khai IMAP4rev1 (RFC 3501)

Giao Thức Email POP3 và Các Mở Rộng

Note

Forward Email hỗ trợ POP3 (RFC 1939) với các mở rộng tiêu chuẩn để truy xuất email.

Chức năng POP3 của Forward Email được cung cấp bởi thư viện WildDuck. Các RFC email sau được hỗ trợ:

RFC Tiêu đề Ghi chú triển khai
RFC 1939 Giao Thức Bưu Điện - Phiên bản 3 (POP3) Hỗ trợ đầy đủ với các khác biệt có chủ ý (xem bên dưới)
RFC 2595 Sử dụng TLS với IMAP, POP3 và ACAP Hỗ trợ STARTTLS
RFC 2449 Cơ chế Mở rộng POP3 Hỗ trợ lệnh CAPA

Forward Email cung cấp hỗ trợ POP3 cho các khách hàng ưa thích giao thức đơn giản này thay vì IMAP. POP3 lý tưởng cho người dùng muốn tải email về một thiết bị duy nhất và xóa chúng khỏi máy chủ.

Các Mở Rộng POP3 Được Hỗ Trợ:

Mở rộng RFC Trạng thái Mô tả
TOP RFC 1939 ✅ Hỗ trợ Lấy tiêu đề tin nhắn
USER RFC 1939 ✅ Hỗ trợ Xác thực tên người dùng
UIDL RFC 1939 ✅ Hỗ trợ Định danh tin nhắn duy nhất
EXPIRE RFC 2449 ✅ Hỗ trợ Chính sách hết hạn tin nhắn

Khác Biệt Giao Thức POP3 So Với Đặc Tả RFC

Warning

POP3 có những hạn chế vốn có so với IMAP.

Important

Khác biệt quan trọng: Hành vi DELE của Forward Email so với WildDuck POP3

Forward Email thực hiện xóa vĩnh viễn theo chuẩn RFC cho lệnh POP3 DELE, khác với WildDuck là di chuyển tin nhắn vào Thùng rác.

Hành vi của Forward Email (mã nguồn):

  • DELEQUIT xóa vĩnh viễn tin nhắn
  • Tuân thủ chính xác đặc tả RFC 1939
  • Giống với hành vi của Dovecot (mặc định), Postfix và các máy chủ tuân thủ chuẩn khác

Hành vi của WildDuck (thảo luận):

  • DELEQUIT di chuyển tin nhắn vào Thùng rác (giống Gmail)
  • Quyết định thiết kế có chủ ý để bảo vệ người dùng
  • Không tuân thủ RFC nhưng ngăn ngừa mất dữ liệu vô ý

Tại sao Forward Email khác biệt:

  • Tuân thủ RFC: Theo đúng đặc tả RFC 1939
  • Kỳ vọng người dùng: Quy trình tải về và xóa mong muốn xóa vĩnh viễn
  • Quản lý lưu trữ: Giải phóng không gian đĩa đúng cách
  • Tương thích: Phù hợp với các máy chủ tuân thủ RFC khác

Note

Liệt kê tin nhắn POP3: Forward Email liệt kê TẤT CẢ tin nhắn từ INBOX không giới hạn. Điều này khác với WildDuck giới hạn 250 tin nhắn mặc định. Xem mã nguồn.

Truy cập Thiết Bị Đơn Lẻ:

POP3 được thiết kế cho truy cập thiết bị đơn lẻ. Tin nhắn thường được tải về và xóa khỏi máy chủ, không phù hợp cho đồng bộ đa thiết bị.

Không Hỗ Trợ Thư Mục:

POP3 chỉ truy cập thư mục INBOX. Các thư mục khác (Đã gửi, Bản nháp, Thùng rác, v.v.) không thể truy cập qua POP3.

Quản Lý Tin Nhắn Hạn Chế:

POP3 chỉ cung cấp chức năng lấy và xóa tin nhắn cơ bản. Các tính năng nâng cao như đánh dấu, di chuyển hoặc tìm kiếm tin nhắn không có.

Các Mở Rộng POP3 KHÔNG ĐƯỢC HỖ TRỢ

Các mở rộng POP3 sau từ IANA POP3 Extension Mechanism Registry KHÔNG được hỗ trợ:

RFC Tiêu đề Lý do
RFC 6856 Hỗ trợ Phiên bản 3 của Giao thức Hộp thư (POP3) cho UTF-8 Không được triển khai trong máy chủ WildDuck POP3
RFC 2595 Lệnh STLS Chỉ hỗ trợ STARTTLS, không hỗ trợ STLS
RFC 3206 Mã phản hồi SYS và AUTH POP Không được triển khai

Giao thức Email SMTP và các Tiện ích mở rộng

Note

Forward Email hỗ trợ SMTP (RFC 5321) với các tiện ích mở rộng hiện đại để gửi email an toàn và đáng tin cậy.

Chức năng SMTP của Forward Email được cung cấp bởi nhiều thành phần: smtp-server (nodemailer), zone-mta, và các triển khai tùy chỉnh. Các RFC email sau được hỗ trợ:

RFC Tiêu đề Ghi chú Triển khai
RFC 5321 Giao thức Truyền Thư Điện tử Đơn giản (SMTP) Hỗ trợ đầy đủ
RFC 3207 Tiện ích mở rộng SMTP cho SMTP an toàn qua Transport Layer Security (STARTTLS) Hỗ trợ TLS/SSL
RFC 4954 Tiện ích mở rộng SMTP cho Xác thực (AUTH) PLAIN, LOGIN, CRAM-MD5, XOAUTH2
RFC 6531 Tiện ích mở rộng SMTP cho Email Quốc tế hóa (SMTPUTF8) Hỗ trợ địa chỉ email unicode gốc
RFC 3461 Tiện ích mở rộng SMTP cho Thông báo Trạng thái Giao hàng (DSN) Hỗ trợ DSN đầy đủ
RFC 3463 Mã Trạng thái Hệ thống Thư Nâng cao Mã trạng thái nâng cao trong phản hồi
RFC 1870 Tiện ích mở rộng SMTP cho Khai báo Kích thước Thư (SIZE) Quảng bá kích thước thư tối đa
RFC 2920 Tiện ích mở rộng SMTP cho Xử lý Lệnh Nối tiếp (PIPELINING) Hỗ trợ nối tiếp lệnh
RFC 1652 Tiện ích mở rộng SMTP cho truyền MIME 8bit (8BITMIME) Hỗ trợ MIME 8-bit
RFC 6152 Tiện ích mở rộng SMTP cho Truyền MIME 8-bit Hỗ trợ MIME 8-bit
RFC 2034 Tiện ích mở rộng SMTP cho Trả về Mã Lỗi Nâng cao (ENHANCEDSTATUSCODES) Mã trạng thái nâng cao

Forward Email triển khai một máy chủ SMTP đầy đủ tính năng với hỗ trợ các tiện ích mở rộng hiện đại giúp tăng cường bảo mật, độ tin cậy và chức năng.

Tiện ích mở rộng SMTP được hỗ trợ:

Tiện ích mở rộng RFC Trạng thái Mô tả
PIPELINING RFC 2920 ✅ Hỗ trợ Xử lý nối tiếp lệnh
SIZE RFC 1870 ✅ Hỗ trợ Khai báo kích thước thư (giới hạn 52MB)
ETRN RFC 1985 ✅ Hỗ trợ Xử lý hàng đợi từ xa
STARTTLS RFC 3207 ✅ Hỗ trợ Nâng cấp lên TLS
ENHANCEDSTATUSCODES RFC 2034 ✅ Hỗ trợ Mã trạng thái nâng cao
8BITMIME RFC 6152 ✅ Hỗ trợ Truyền MIME 8-bit
DSN RFC 3461 ✅ Hỗ trợ Thông báo Trạng thái Giao hàng
CHUNKING RFC 3030 ✅ Hỗ trợ Truyền thư theo khối
SMTPUTF8 RFC 6531 ⚠️ Một phần Địa chỉ email UTF-8 (một phần)
REQUIRETLS RFC 8689 ✅ Hỗ trợ Yêu cầu TLS cho việc gửi thư

Thông Báo Trạng Thái Giao Hàng (DSN)

Tip

DSN cung cấp thông tin chi tiết về trạng thái giao hàng cho các email đã gửi.

Forward Email hoàn toàn hỗ trợ DSN (RFC 3461), cho phép người gửi yêu cầu thông báo trạng thái giao hàng. Tính năng này cung cấp:

  • Thông báo thành công khi tin nhắn được giao
  • Thông báo thất bại với thông tin lỗi chi tiết
  • Thông báo trì hoãn khi việc giao hàng bị tạm thời trì hoãn

DSN đặc biệt hữu ích cho:

  • Xác nhận việc giao tin nhắn quan trọng
  • Khắc phục sự cố giao hàng
  • Hệ thống xử lý email tự động
  • Yêu cầu tuân thủ và kiểm toán

Hỗ Trợ REQUIRETLS

Important

Forward Email là một trong số ít nhà cung cấp công khai quảng bá và thực thi REQUIRETLS.

Forward Email hỗ trợ REQUIRETLS (RFC 8689), đảm bảo các tin nhắn email chỉ được giao qua kết nối được mã hóa TLS. Điều này cung cấp:

  • Mã hóa đầu cuối cho toàn bộ đường truyền giao hàng
  • Thực thi hướng đến người dùng qua hộp kiểm trong trình soạn thảo email
  • Từ chối các cố gắng giao hàng không mã hóa
  • Tăng cường bảo mật cho các giao tiếp nhạy cảm

Các Mở Rộng SMTP KHÔNG Hỗ Trợ

Các mở rộng SMTP sau từ IANA SMTP Service Extensions Registry KHÔNG được hỗ trợ:

RFC Tiêu đề Lý do
RFC 4865 Mở rộng Dịch vụ Gửi SMTP cho Phát hành Tin nhắn Tương lai (FUTURERELEASE) Chưa triển khai
RFC 6710 Mở rộng SMTP cho Ưu tiên Chuyển Tin nhắn (MT-PRIORITY) Chưa triển khai
RFC 7293 Trường Header Require-Recipient-Valid-Since và Mở rộng Dịch vụ SMTP Chưa triển khai
RFC 7372 Mã Trạng thái Xác thực Email Chưa triển khai đầy đủ
RFC 4468 Mở rộng BURL Gửi Tin nhắn Chưa triển khai
RFC 3030 Mở rộng Dịch vụ SMTP cho Truyền Tin nhắn MIME Lớn và Nhị phân (CHUNKING, BINARYMIME) Chưa triển khai
RFC 2852 Mở rộng Dịch vụ Giao Hàng Theo Thời Gian SMTP Chưa triển khai

Giao Thức Email JMAP

Caution

JMAP hiện không được hỗ trợ bởi Forward Email.

RFC Tiêu đề Trạng thái Lý do
RFC 8620 Giao Thức Ứng Dụng Meta JSON (JMAP) ❌ Không Hỗ Trợ Forward Email sử dụng IMAP/POP3/SMTP và một REST API toàn diện thay thế

JMAP (Giao Thức Ứng Dụng Meta JSON) là một giao thức email hiện đại được thiết kế để thay thế IMAP.

Tại sao JMAP không được hỗ trợ:

"JMAP là một thứ quái vật không nên được phát minh. Nó cố gắng chuyển đổi TCP/IMAP (đã là một giao thức tệ theo tiêu chuẩn hiện nay) thành HTTP/JSON, chỉ sử dụng một phương thức truyền tải khác trong khi giữ nguyên tinh thần." — Andris Reinman, HN Discussion "JMAP đã hơn 10 năm tuổi, và gần như không có sự áp dụng nào cả" – Andris Reinman, GitHub Discussion

Xem thêm các bình luận bổ sung tại https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=jmap andris&sort=byDate&type=comment.

Forward Email hiện tập trung vào việc cung cấp hỗ trợ IMAP, POP3 và SMTP xuất sắc, cùng với một REST API toàn diện để quản lý email. Hỗ trợ JMAP có thể được xem xét trong tương lai dựa trên nhu cầu người dùng và sự áp dụng trong hệ sinh thái.

Thay thế: Forward Email cung cấp một REST API Hoàn chỉnh với 39 điểm cuối cung cấp chức năng tương tự JMAP cho truy cập email theo lập trình.


Bảo Mật Email

Kiến Trúc Bảo Mật Email

Các Giao Thức Xác Thực Tin Nhắn Email

Note

Forward Email triển khai tất cả các giao thức xác thực email chính để ngăn chặn giả mạo và đảm bảo tính toàn vẹn của tin nhắn.

Forward Email sử dụng thư viện mailauth cho xác thực email. Các RFC sau được hỗ trợ:

RFC Tiêu Đề Ghi Chú Triển Khai
RFC 6376 Chữ Ký Mail Định Danh DomainKeys (DKIM) Ký và xác minh DKIM đầy đủ
RFC 8463 Phương Pháp Chữ Ký Mã Hóa Mới cho DKIM (Ed25519-SHA256) Hỗ trợ cả thuật toán ký RSA-SHA256 và Ed25519-SHA256
RFC 7208 Khung Chính Sách Người Gửi (SPF) Xác thực bản ghi SPF
RFC 7489 Xác Thực Tin Nhắn Dựa Trên Domain, Báo Cáo và Tuân Thủ (DMARC) Thực thi chính sách DMARC
RFC 8617 Chuỗi Nhận Xác Thực (ARC) Niêm phong và xác minh ARC

Các giao thức xác thực email xác minh rằng tin nhắn thực sự đến từ người gửi được khai báo và không bị thay đổi trong quá trình truyền.

Hỗ Trợ Giao Thức Xác Thực

Giao Thức RFC Trạng Thái Mô Tả
DKIM RFC 6376 ✅ Hỗ Trợ DomainKeys Identified Mail - Chữ ký mã hóa
SPF RFC 7208 ✅ Hỗ Trợ Sender Policy Framework - Ủy quyền địa chỉ IP
DMARC RFC 7489 ✅ Hỗ Trợ Xác Thực Tin Nhắn Dựa Trên Domain - Thực thi chính sách
ARC RFC 8617 ✅ Hỗ Trợ Chuỗi Nhận Xác Thực - Bảo toàn xác thực qua các lần chuyển tiếp

DKIM (DomainKeys Identified Mail)

DKIM thêm chữ ký mật mã vào tiêu đề email, cho phép người nhận xác minh rằng tin nhắn đã được chủ sở hữu tên miền ủy quyền và không bị chỉnh sửa trong quá trình truyền.

Forward Email sử dụng mailauth để ký và xác minh DKIM.

Tính năng chính:

  • Tự động ký DKIM cho tất cả các tin nhắn gửi đi
  • Hỗ trợ khóa RSA và Ed25519
  • Hỗ trợ nhiều selector
  • Xác minh DKIM cho các tin nhắn đến

SPF (Sender Policy Framework)

SPF cho phép chủ sở hữu tên miền chỉ định các địa chỉ IP được phép gửi email thay mặt cho tên miền của họ.

Tính năng chính:

  • Xác thực bản ghi SPF cho các tin nhắn đến
  • Kiểm tra SPF tự động với kết quả chi tiết
  • Hỗ trợ các cơ chế include, redirect và all
  • Chính sách SPF có thể cấu hình theo từng tên miền

DMARC (Domain-based Message Authentication, Reporting & Conformance)

DMARC xây dựng dựa trên SPF và DKIM để cung cấp thực thi chính sách và báo cáo.

Tính năng chính:

  • Thực thi chính sách DMARC (none, quarantine, reject)
  • Kiểm tra căn chỉnh cho SPF và DKIM
  • Báo cáo tổng hợp DMARC
  • Chính sách DMARC theo từng tên miền

ARC (Authenticated Received Chain)

ARC bảo tồn kết quả xác thực email qua các bước chuyển tiếp và sửa đổi danh sách gửi thư.

Forward Email sử dụng thư viện mailauth để xác minh và đóng dấu ARC.

Tính năng chính:

  • Đóng dấu ARC cho các tin nhắn được chuyển tiếp
  • Xác thực ARC cho các tin nhắn đến
  • Xác minh chuỗi qua nhiều bước chuyển tiếp
  • Bảo tồn kết quả xác thực gốc

Authentication Flow


Email Transport Security Protocols

Important

Forward Email triển khai nhiều lớp bảo mật truyền tải để bảo vệ email trong quá trình truyền.

Forward Email triển khai các giao thức bảo mật truyền tải hiện đại:

RFC Title Status Implementation Notes
RFC 8461 SMTP MTA Strict Transport Security (MTA-STS) ✅ Supported Được sử dụng rộng rãi trên các máy chủ IMAP, SMTP và MX. Xem create-mta-sts-cache.jsget-transporter.js
RFC 8460 SMTP TLS Reporting ✅ Supported Qua thư viện mailauth
RFC 7671 The DNS-Based Authentication of Named Entities (DANE) Protocol: Updates and Operational Guidance ✅ Supported Xác minh DANE đầy đủ cho các kết nối SMTP gửi đi. Xem mx-connect PR #22
RFC 6698 The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA ✅ Supported Hỗ trợ đầy đủ RFC 6698: các loại sử dụng PKIX-TA, PKIX-EE, DANE-TA, DANE-EE. Xem mx-connect PR #22
RFC 8314 Cleartext Considered Obsolete: Use of Transport Layer Security (TLS) for Email Submission and Access ✅ Supported Yêu cầu TLS cho tất cả các kết nối
RFC 8689 SMTP Service Extension for Requiring TLS (REQUIRETLS) ✅ Supported Hỗ trợ đầy đủ phần mở rộng SMTP REQUIRETLS và header "TLS-Required"
Các giao thức bảo mật truyền tải đảm bảo rằng các tin nhắn email được mã hóa và xác thực trong quá trình truyền giữa các máy chủ thư.

Hỗ trợ Bảo mật Truyền tải

Giao thức RFC Trạng thái Mô tả
TLS RFC 8314 ✅ Hỗ trợ Transport Layer Security - Kết nối được mã hóa
MTA-STS RFC 8461 ✅ Hỗ trợ Mail Transfer Agent Strict Transport Security
DANE RFC 7671 ✅ Hỗ trợ DNS-based Authentication of Named Entities
REQUIRETLS RFC 8689 ✅ Hỗ trợ Yêu cầu TLS cho toàn bộ đường truyền

TLS (Transport Layer Security)

Forward Email thực thi mã hóa TLS cho tất cả các kết nối email (SMTP, IMAP, POP3).

Các tính năng chính:

  • Hỗ trợ TLS 1.2 và TLS 1.3
  • Quản lý chứng chỉ tự động
  • Perfect Forward Secrecy (PFS)
  • Chỉ sử dụng các bộ mã hóa mạnh

MTA-STS (Mail Transfer Agent Strict Transport Security)

MTA-STS đảm bảo rằng email chỉ được gửi qua các kết nối được mã hóa TLS bằng cách công bố chính sách qua HTTPS.

Forward Email triển khai MTA-STS sử dụng create-mta-sts-cache.js.

Các tính năng chính:

  • Tự động công bố chính sách MTA-STS
  • Bộ nhớ đệm chính sách để tăng hiệu suất
  • Ngăn chặn tấn công hạ cấp
  • Thực thi xác thực chứng chỉ

DANE (DNS-based Authentication of Named Entities)

Note

Forward Email hiện cung cấp hỗ trợ đầy đủ DANE cho các kết nối SMTP đi.

DANE sử dụng DNSSEC để công bố thông tin chứng chỉ TLS trong DNS, cho phép các máy chủ thư xác minh chứng chỉ mà không cần dựa vào các cơ quan cấp chứng chỉ.

Các tính năng chính:

  • ✅ Xác minh DANE đầy đủ cho các kết nối SMTP đi
  • ✅ Hỗ trợ đầy đủ RFC 6698: các loại sử dụng PKIX-TA, PKIX-EE, DANE-TA, DANE-EE
  • ✅ Xác minh chứng chỉ dựa trên bản ghi TLSA trong quá trình nâng cấp TLS
  • ✅ Giải quyết TLSA song song cho nhiều máy chủ MX
  • ✅ Tự động phát hiện dns.resolveTlsa gốc (Node.js v22.15.0+, v23.9.0+)
  • ✅ Hỗ trợ bộ phân giải tùy chỉnh cho các phiên bản Node.js cũ hơn qua Tangerine
  • Yêu cầu các miền được ký DNSSEC

Tip

Chi tiết triển khai: Hỗ trợ DANE được thêm qua mx-connect PR #22, cung cấp hỗ trợ toàn diện DANE/TLSA cho các kết nối SMTP đi.

REQUIRETLS

Tip

Forward Email là một trong số ít nhà cung cấp hỗ trợ REQUIRETLS dành cho người dùng.

REQUIRETLS đảm bảo rằng các tin nhắn email chỉ được gửi qua các kết nối được mã hóa TLS cho toàn bộ đường truyền.

Các tính năng chính:

  • Hộp kiểm dành cho người dùng trong trình soạn thảo email
  • Tự động từ chối các lần gửi không mã hóa
  • Thực thi TLS đầu cuối
  • Thông báo lỗi chi tiết

Tip

Thực thi TLS dành cho người dùng: Forward Email cung cấp một hộp kiểm trong My Account > Domains > Settings để thực thi TLS cho tất cả các kết nối đến. Khi bật, tính năng này sẽ từ chối mọi email đến không được gửi qua kết nối mã hóa TLS với mã lỗi 530, đảm bảo tất cả thư đến đều được mã hóa khi truyền.

Luồng Bảo mật Truyền tải

Mã hóa Tin nhắn Email

Note

Forward Email hỗ trợ cả OpenPGP và S/MIME cho mã hóa email đầu-cuối.

Forward Email hỗ trợ mã hóa OpenPGP và S/MIME:

RFC Tiêu đề Trạng thái Ghi chú Triển khai
RFC 9580 OpenPGP (thay thế RFC 4880) ✅ Hỗ trợ Qua tích hợp OpenPGP.js v6+. Xem FAQ
RFC 8551 Secure/Multipurpose Internet Mail Extensions (S/MIME) Phiên bản 4.0 Thông số Tin nhắn ✅ Hỗ trợ Hỗ trợ cả thuật toán RSA và ECC. Xem FAQ

Giao thức mã hóa tin nhắn bảo vệ nội dung email khỏi bị đọc bởi bất kỳ ai ngoài người nhận dự kiến, ngay cả khi tin nhắn bị chặn trong quá trình truyền.

Hỗ trợ Mã hóa

Giao thức RFC Trạng thái Mô tả
OpenPGP RFC 9580 ✅ Hỗ trợ Pretty Good Privacy - Mã hóa khóa công khai
S/MIME RFC 8551 ✅ Hỗ trợ Secure/Multipurpose Internet Mail Extensions
WKD Draft ✅ Hỗ trợ Web Key Directory - Tự động phát hiện khóa

OpenPGP (Pretty Good Privacy)

OpenPGP cung cấp mã hóa đầu-cuối sử dụng mật mã khóa công khai. Forward Email hỗ trợ OpenPGP thông qua giao thức Web Key Directory (WKD).

Tính năng chính:

  • Tự động phát hiện khóa qua WKD
  • Hỗ trợ PGP/MIME cho tệp đính kèm được mã hóa
  • Quản lý khóa qua trình khách email
  • Tương thích với GPG, Mailvelope và các công cụ OpenPGP khác

Cách sử dụng:

  1. Tạo cặp khóa PGP trong trình khách email của bạn
  2. Tải khóa công khai lên WKD của Forward Email
  3. Khóa của bạn được người dùng khác tự động phát hiện
  4. Gửi và nhận email mã hóa một cách liền mạch

S/MIME (Secure/Multipurpose Internet Mail Extensions)

S/MIME cung cấp mã hóa email và chữ ký số sử dụng chứng chỉ X.509.

Tính năng chính:

  • Mã hóa dựa trên chứng chỉ
  • Chữ ký số để xác thực tin nhắn
  • Hỗ trợ gốc trong hầu hết trình khách email
  • Bảo mật cấp doanh nghiệp

Cách sử dụng:

  1. Lấy chứng chỉ S/MIME từ một Cơ quan cấp chứng chỉ
  2. Cài đặt chứng chỉ trong trình khách email của bạn
  3. Cấu hình trình khách để mã hóa/ký tin nhắn
  4. Trao đổi chứng chỉ với người nhận

Mã hóa Hộp thư SQLite

Important

Forward Email cung cấp một lớp bảo mật bổ sung với hộp thư SQLite được mã hóa.

Ngoài mã hóa cấp độ tin nhắn, Forward Email mã hóa toàn bộ hộp thư sử dụng sqleet (ChaCha20-Poly1305).

Tính năng chính:

  • Mã hóa dựa trên mật khẩu - Chỉ bạn có mật khẩu
  • Kháng lượng tử - Thuật toán ChaCha20-Poly1305
  • Không biết gì - Forward Email không thể giải mã hộp thư của bạn
  • Cách ly - Mỗi hộp thư được cô lập và có thể di động
  • Không thể phục hồi - Nếu bạn quên mật khẩu, hộp thư của bạn sẽ mất hoàn toàn

So sánh Mã hóa

Tính năng OpenPGP S/MIME Mã hóa SQLite
End-to-End ✅ Có ✅ Có ✅ Có
Quản lý Khóa Tự quản lý Do CA cấp Dựa trên Mật khẩu
Hỗ trợ Khách hàng Cần plugin Tích hợp sẵn Minh bạch
Trường hợp sử dụng Cá nhân Doanh nghiệp Lưu trữ
Kháng lượng tử ⚠️ Tùy khóa ⚠️ Tùy chứng chỉ ✅ Có

Luồng Mã hóa


Chức năng Mở rộng

Tiêu chuẩn Định dạng Tin nhắn Email

Note

Forward Email hỗ trợ các tiêu chuẩn định dạng email hiện đại cho nội dung phong phú và quốc tế hóa.

Forward Email hỗ trợ các định dạng tin nhắn email tiêu chuẩn:

RFC Tiêu đề Ghi chú Triển khai
RFC 5322 Định dạng Tin nhắn Internet Hỗ trợ đầy đủ
RFC 2045 MIME Phần Một: Định dạng Thân Tin nhắn Internet Hỗ trợ MIME đầy đủ
RFC 2046 MIME Phần Hai: Các loại phương tiện Hỗ trợ MIME đầy đủ
RFC 2047 MIME Phần Ba: Mở rộng Tiêu đề Tin nhắn cho Văn bản Không ASCII Hỗ trợ MIME đầy đủ
RFC 2048 MIME Phần Bốn: Thủ tục Đăng ký Hỗ trợ MIME đầy đủ
RFC 2049 MIME Phần Năm: Tiêu chí Tuân thủ và Ví dụ Hỗ trợ MIME đầy đủ

Tiêu chuẩn định dạng email xác định cách cấu trúc, mã hóa và hiển thị các tin nhắn email.

Hỗ trợ Tiêu chuẩn Định dạng

Tiêu chuẩn RFC Trạng thái Mô tả
MIME RFC 2045-2049 ✅ Hỗ trợ Phần mở rộng thư điện tử đa năng
SMTPUTF8 RFC 6531 ⚠️ Một phần Địa chỉ email quốc tế hóa
EAI RFC 6530 ⚠️ Một phần Quốc tế hóa Địa chỉ Email
Định dạng Tin nhắn RFC 5322 ✅ Hỗ trợ Định dạng Tin nhắn Internet
Bảo mật MIME RFC 1847 ✅ Hỗ trợ Các phần bảo mật cho MIME

MIME (Phần mở rộng thư điện tử đa năng)

MIME cho phép email chứa nhiều phần với các loại nội dung khác nhau (văn bản, HTML, tệp đính kèm, v.v.).

Các tính năng MIME được hỗ trợ:

  • Tin nhắn đa phần (mixed, alternative, related)
  • Tiêu đề Content-Type
  • Mã hóa Content-Transfer-Encoding (7bit, 8bit, quoted-printable, base64)
  • Hình ảnh và tệp đính kèm nội tuyến
  • Nội dung HTML phong phú

SMTPUTF8 và Quốc tế hóa Địa chỉ Email

Warning

Hỗ trợ SMTPUTF8 là một phần - không phải tất cả các tính năng đều được triển khai đầy đủ. SMTPUTF8 cho phép địa chỉ email chứa các ký tự không phải ASCII (ví dụ, 用户@例え.jp).

Tình trạng hiện tại:

  • ⚠️ Hỗ trợ một phần cho địa chỉ email quốc tế hóa
  • ✅ Nội dung UTF-8 trong thân tin nhắn
  • ⚠️ Hỗ trợ hạn chế cho phần local không phải ASCII

Giao thức Lịch và Danh bạ

Note

Forward Email cung cấp hỗ trợ đầy đủ CalDAV và CardDAV cho đồng bộ lịch và danh bạ.

Forward Email hỗ trợ CalDAV và CardDAV thông qua thư viện caldav-adapter:

RFC Tiêu đề Tình trạng Ghi chú triển khai
RFC 4791 Mở rộng Lịch cho WebDAV (CalDAV) ✅ Được hỗ trợ Truy cập và quản lý lịch
RFC 6352 CardDAV: Mở rộng vCard cho WebDAV ✅ Được hỗ trợ Truy cập và quản lý danh bạ
RFC 5545 Đặc tả Đối tượng Lịch và Lập lịch Internet (iCalendar) ✅ Được hỗ trợ Hỗ trợ định dạng iCalendar
RFC 6350 Đặc tả Định dạng vCard ✅ Được hỗ trợ Hỗ trợ định dạng vCard 4.0
RFC 6638 Mở rộng Lập lịch cho CalDAV ✅ Được hỗ trợ Lập lịch CalDAV với hỗ trợ iMIP. Xem commit c4d1629
RFC 5546 Giao thức Tương tác Độc lập Vận chuyển iCalendar (iTIP) ✅ Được hỗ trợ Hỗ trợ iTIP cho các phương thức REQUEST, REPLY, CANCEL và VFREEBUSY. Xem commit c4d1629
RFC 6047 Giao thức Tương tác Dựa trên Tin nhắn iCalendar (iMIP) ✅ Được hỗ trợ Lời mời lịch dựa trên email với các liên kết phản hồi. Xem commit c4d1629

CalDAV và CardDAV là các giao thức cho phép dữ liệu lịch và danh bạ được truy cập, chia sẻ và đồng bộ trên các thiết bị.

Hỗ trợ CalDAV và CardDAV

Giao thức RFC Tình trạng Mô tả
CalDAV RFC 4791 ✅ Được hỗ trợ Truy cập và đồng bộ lịch
CardDAV RFC 6352 ✅ Được hỗ trợ Truy cập và đồng bộ danh bạ
iCalendar RFC 5545 ✅ Được hỗ trợ Định dạng dữ liệu lịch
vCard RFC 6350 ✅ Được hỗ trợ Định dạng dữ liệu danh bạ
VTODO RFC 5545 ✅ Được hỗ trợ Hỗ trợ tác vụ/nhắc nhở
Lập lịch CalDAV RFC 6638 ✅ Được hỗ trợ Mở rộng lập lịch CalDAV
iTIP RFC 5546 ✅ Được hỗ trợ Tương tác độc lập vận chuyển
iMIP RFC 6047 ✅ Được hỗ trợ Lời mời lịch dựa trên email

CalDAV (Truy cập Lịch)

CalDAV cho phép bạn truy cập và quản lý lịch từ bất kỳ thiết bị hoặc ứng dụng nào.

Tính năng chính:

  • Đồng bộ đa thiết bị
  • Lịch chia sẻ
  • Đăng ký lịch
  • Lời mời sự kiện và phản hồi
  • Sự kiện định kỳ
  • Hỗ trợ múi giờ

Khách hàng tương thích:

  • Apple Calendar (macOS, iOS)
  • Mozilla Thunderbird
  • Evolution
  • GNOME Calendar
  • Bất kỳ khách hàng tương thích CalDAV nào

CardDAV (Truy cập Danh bạ)

CardDAV cho phép bạn truy cập và quản lý danh bạ từ bất kỳ thiết bị hoặc ứng dụng nào.

Tính năng chính:

  • Đồng bộ đa thiết bị
  • Sổ địa chỉ chia sẻ
  • Nhóm danh bạ
  • Hỗ trợ ảnh
  • Trường tùy chỉnh
  • Hỗ trợ vCard 4.0

Khách hàng tương thích:

  • Apple Contacts (macOS, iOS)
  • Mozilla Thunderbird
  • Evolution
  • GNOME Contacts
  • Bất kỳ khách hàng tương thích CardDAV nào

Công việc và Nhắc nhở (CalDAV VTODO)

Tip

Forward Email hỗ trợ công việc và nhắc nhở thông qua CalDAV VTODO.

VTODO là một phần của định dạng iCalendar và cho phép quản lý công việc qua CalDAV.

Tính năng chính:

  • Tạo và quản lý công việc
  • Ngày đến hạn và ưu tiên
  • Theo dõi hoàn thành công việc
  • Công việc định kỳ
  • Danh sách/loại công việc

Khách hàng tương thích:

  • Apple Reminders (macOS, iOS)
  • Mozilla Thunderbird (với Lightning)
  • Evolution
  • GNOME To Do
  • Bất kỳ khách hàng CalDAV nào hỗ trợ VTODO

Luồng Đồng bộ CalDAV/CardDAV

Các phần mở rộng Lịch KHÔNG được hỗ trợ

Các phần mở rộng lịch sau KHÔNG được hỗ trợ:

RFC Tiêu đề Lý do
RFC 4918 HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV) CalDAV sử dụng các khái niệm WebDAV nhưng không triển khai đầy đủ RFC 4918
RFC 6578 Collection Synchronization for WebDAV Chưa được triển khai
RFC 3744 WebDAV Access Control Protocol Chưa được triển khai

Lọc Tin nhắn Email

Important

Forward Email cung cấp hỗ trợ đầy đủ Sieve và ManageSieve cho lọc email phía máy chủ. Tạo các quy tắc mạnh mẽ để tự động phân loại, lọc, chuyển tiếp và phản hồi các tin nhắn đến.

Sieve (RFC 5228)

Sieve là một ngôn ngữ kịch bản chuẩn hóa, mạnh mẽ cho lọc email phía máy chủ. Forward Email triển khai hỗ trợ Sieve toàn diện với 24 phần mở rộng.

Mã nguồn: helpers/sieve/

Các RFC Sieve cốt lõi được hỗ trợ

RFC Tiêu đề Trạng thái
RFC 5228 Sieve: Ngôn ngữ Lọc Email ✅ Hỗ trợ đầy đủ
RFC 5429 Sieve Email Filtering: Reject and Extended Reject Extensions ✅ Hỗ trợ đầy đủ
RFC 5230 Sieve Email Filtering: Vacation Extension ✅ Hỗ trợ đầy đủ
RFC 6131 Sieve Vacation Extension: Tham số "Seconds" ✅ Hỗ trợ đầy đủ
RFC 5232 Sieve Email Filtering: Imap4flags Extension ✅ Hỗ trợ đầy đủ
RFC 5173 Sieve Email Filtering: Body Extension ✅ Hỗ trợ đầy đủ
RFC 5229 Sieve Email Filtering: Variables Extension ✅ Hỗ trợ đầy đủ
RFC 5231 Sieve Email Filtering: Relational Extension ✅ Hỗ trợ đầy đủ
RFC 4790 Internet Application Protocol Collation Registry ✅ Hỗ trợ đầy đủ
RFC 3894 Sieve Extension: Copying Without Side Effects ✅ Hỗ trợ đầy đủ
RFC 5293 Sieve Email Filtering: Editheader Extension ✅ Hỗ trợ đầy đủ
RFC 5260 Sieve Email Filtering: Date and Index Extensions ✅ Hỗ trợ đầy đủ
RFC 5435 Sieve Email Filtering: Extension for Notifications ✅ Hỗ trợ đầy đủ
RFC 5183 Sieve Email Filtering: Environment Extension ✅ Hỗ trợ đầy đủ
RFC 5490 Sieve Email Filtering: Extensions for Checking Mailbox Status ✅ Hỗ trợ đầy đủ
RFC 8579 Sieve Email Filtering: Delivering to Special-Use Mailboxes ✅ Hỗ trợ đầy đủ
RFC 7352 Sieve Email Filtering: Detecting Duplicate Deliveries ✅ Hỗ trợ đầy đủ
RFC 5463 Sieve Email Filtering: Ihave Extension ✅ Hỗ trợ đầy đủ
RFC 5233 Sieve Email Filtering: Subaddress Extension ✅ Hỗ trợ đầy đủ
draft-ietf-sieve-regex Sieve Email Filtering: Regular Expression Extension ✅ Hỗ trợ đầy đủ

Các phần mở rộng Sieve được hỗ trợ

Phần mở rộng Mô tả Tích hợp
fileinto Lưu thư vào các thư mục cụ thể Thư được lưu trong thư mục IMAP chỉ định
reject / ereject Từ chối thư với lỗi Từ chối SMTP kèm thông báo trả lại
vacation Trả lời tự động khi nghỉ/vắng mặt Xếp hàng qua Emails.queue với giới hạn tốc độ
vacation-seconds Khoảng thời gian trả lời nghỉ chi tiết TTL từ tham số :seconds
imap4flags Đặt cờ IMAP (\Seen, \Flagged, v.v.) Cờ được áp dụng khi lưu thư
envelope Kiểm tra người gửi/người nhận phong bì Truy cập dữ liệu phong bì SMTP
body Kiểm tra nội dung thân thư So khớp toàn bộ văn bản thân thư
variables Lưu và sử dụng biến trong kịch bản Mở rộng biến với các bộ điều chỉnh
relational So sánh quan hệ :count, :value với gt/lt/eq
comparator-i;ascii-numeric So sánh số học So sánh chuỗi số học
copy Sao chép thư khi chuyển tiếp Cờ :copy trên fileinto/redirect
editheader Thêm hoặc xóa tiêu đề thư Tiêu đề được chỉnh sửa trước khi lưu
date Kiểm tra giá trị ngày/giờ Kiểm tra currentdate và ngày tiêu đề
index Truy cập các lần xuất hiện tiêu đề cụ thể :index cho tiêu đề đa giá trị
regex So khớp biểu thức chính quy Hỗ trợ đầy đủ regex trong kiểm tra
enotify Gửi thông báo Thông báo mailto: qua Emails.queue
environment Truy cập thông tin môi trường Tên miền, máy chủ, IP từ phiên làm việc
mailbox Kiểm tra sự tồn tại hộp thư Kiểm tra mailboxexists
special-use Lưu vào các hộp thư đặc biệt Ánh xạ \Junk, \Trash, v.v. thành thư mục
duplicate Phát hiện thư trùng lặp Theo dõi trùng lặp dựa trên Redis
ihave Kiểm tra khả năng phần mở rộng Kiểm tra khả năng chạy thời gian thực
subaddress Truy cập các phần địa chỉ user+detail Các phần địa chỉ :user:detail

Các phần mở rộng Sieve KHÔNG được hỗ trợ

Phần mở rộng RFC Lý do
include RFC 6609 Rủi ro bảo mật (chèn mã độc), yêu cầu lưu trữ kịch bản toàn cục
mboxmetadata / servermetadata RFC 5490 Yêu cầu phần mở rộng METADATA của IMAP
fcc RFC 8580 Yêu cầu tích hợp thư mục Sent
encoded-character RFC 5228 Cần thay đổi trình phân tích cú pháp cho cú pháp $
foreverypart / mime / extracttext RFC 5703 Xử lý cây MIME phức tạp

Luồng Xử Lý Sieve

Tính Năng Bảo Mật

Triển khai Sieve của Forward Email bao gồm các biện pháp bảo mật toàn diện:

  • Bảo vệ CVE-2023-26430: Ngăn chặn vòng lặp chuyển tiếp và tấn công mail bombing
  • Giới hạn tần suất: Giới hạn chuyển tiếp (10/tin nhắn, 100/ngày) và trả lời nghỉ phép
  • Kiểm tra danh sách chặn: Địa chỉ chuyển tiếp được kiểm tra với danh sách chặn
  • Tiêu đề được bảo vệ: Tiêu đề DKIM, ARC và xác thực không thể bị chỉnh sửa qua editheader
  • Giới hạn kích thước kịch bản: Áp dụng kích thước tối đa cho kịch bản
  • Giới hạn thời gian thực thi: Kịch bản bị dừng nếu vượt quá giới hạn thời gian

Ví Dụ Kịch Bản Sieve

Lưu bản tin vào thư mục:

require ["fileinto"];

if header :contains "List-Id" "newsletter" {
    fileinto "Newsletters";
}

Trả lời tự động nghỉ phép với thời gian chi tiết:

require ["vacation", "vacation-seconds"];

vacation :seconds 3600 :subject "Out of Office"
    "Tôi hiện đang vắng mặt và sẽ phản hồi trong vòng 24 giờ.";

Lọc thư rác với cờ:

require ["fileinto", "imap4flags"];

if header :contains "X-Spam-Status" "Yes" {
    setflag "\\Seen";
    fileinto "Junk";
}

Lọc phức tạp với biến:

require ["variables", "fileinto", "regex"];

if header :regex "From" "(.+)@example\\.com" {
    set :lower "sender" "${1}";
    fileinto "Contacts/${sender}";
}

Tip

Để xem tài liệu đầy đủ, các kịch bản ví dụ và hướng dẫn cấu hình, xem FAQ: Bạn có hỗ trợ lọc email bằng Sieve không?

ManageSieve (RFC 5804)

Forward Email cung cấp hỗ trợ đầy đủ giao thức ManageSieve để quản lý kịch bản Sieve từ xa.

Mã nguồn: managesieve-server.js

RFC Tiêu đề Trạng thái
RFC 5804 Giao thức Quản lý Kịch bản Sieve từ xa ✅ Hỗ trợ đầy đủ

Cấu Hình Máy Chủ ManageSieve

Cài đặt Giá trị
Máy chủ imap.forwardemail.net
Cổng (STARTTLS) 2190 (khuyến nghị)
Cổng (TLS ẩn danh) 4190
Xác thực PLAIN (qua TLS)

Lưu ý: Cổng 2190 sử dụng STARTTLS (nâng cấp từ kết nối thường sang TLS) và tương thích với hầu hết các client ManageSieve bao gồm sieve-connect. Cổng 4190 sử dụng TLS ẩn danh (TLS ngay từ đầu kết nối) cho các client hỗ trợ.

Các Lệnh ManageSieve Hỗ Trợ

Lệnh Mô tả
AUTHENTICATE Xác thực bằng cơ chế PLAIN
CAPABILITY Liệt kê khả năng và phần mở rộng máy chủ
HAVESPACE Kiểm tra xem có thể lưu kịch bản không
PUTSCRIPT Tải lên kịch bản mới
LISTSCRIPTS Liệt kê tất cả kịch bản và trạng thái hoạt động
SETACTIVE Kích hoạt một kịch bản
GETSCRIPT Tải xuống kịch bản
DELETESCRIPT Xóa kịch bản
RENAMESCRIPT Đổi tên kịch bản
CHECKSCRIPT Kiểm tra cú pháp kịch bản
NOOP Giữ kết nối hoạt động
LOGOUT Kết thúc phiên làm việc

Các Client ManageSieve Tương Thích

  • Thunderbird: Hỗ trợ Sieve tích hợp qua Sieve add-on
  • Roundcube: Plugin ManageSieve
  • KMail: Hỗ trợ ManageSieve gốc
  • sieve-connect: Client dòng lệnh
  • Bất kỳ client nào tuân thủ RFC 5804

Luồng Giao Thức ManageSieve

Giao Diện Web và API

Ngoài ManageSieve, Forward Email còn cung cấp:

  • Bảng Điều Khiển Web: Tạo và quản lý các script Sieve qua giao diện web tại My Account → Domains → Aliases → Sieve Scripts
  • REST API: Truy cập lập trình để quản lý script Sieve qua Forward Email API

Tip

Để biết hướng dẫn thiết lập chi tiết và cấu hình client, xem FAQ: Bạn có hỗ trợ lọc email bằng Sieve không?


Tối Ưu Lưu Trữ

Important

Công Nghệ Lưu Trữ Đầu Tiên Trong Ngành: Forward Email là nhà cung cấp email duy nhất trên thế giới kết hợp giữa loại bỏ trùng lặp tệp đính kèm và nén Brotli trên nội dung email. Tối ưu hai lớp này giúp bạn có dung lượng lưu trữ hiệu quả gấp 2-3 lần so với các nhà cung cấp email truyền thống.

Forward Email triển khai hai kỹ thuật tối ưu lưu trữ đột phá giúp giảm đáng kể kích thước hộp thư trong khi vẫn đảm bảo tuân thủ đầy đủ RFC và giữ nguyên độ chính xác của tin nhắn:

  1. Loại bỏ trùng lặp tệp đính kèm - Loại bỏ các tệp đính kèm trùng lặp trên tất cả các email
  2. Nén Brotli - Giảm dung lượng lưu trữ 46-86% cho metadata và 50% cho tệp đính kèm

Kiến Trúc: Tối Ưu Lưu Trữ Hai Lớp


Loại Bỏ Trùng Lặp Tệp Đính Kèm

Forward Email triển khai loại bỏ trùng lặp tệp đính kèm dựa trên phương pháp đã được chứng minh của WildDuck, được điều chỉnh cho lưu trữ SQLite.

Note

Điều được loại bỏ trùng lặp: "Tệp đính kèm" đề cập đến nội dung node MIME đã được mã hóa (base64 hoặc quoted-printable), không phải tệp đã giải mã. Điều này giữ nguyên tính hợp lệ của chữ ký DKIM và GPG.

Cách Hoạt Động

Triển khai gốc của WildDuck (MongoDB GridFS):

Máy chủ IMAP Wild Duck loại bỏ trùng lặp tệp đính kèm. "Tệp đính kèm" trong trường hợp này có nghĩa là nội dung node mime được mã hóa base64 hoặc quoted-printable, không phải tệp đã giải mã. Mặc dù sử dụng nội dung đã mã hóa dẫn đến nhiều trường hợp âm tính giả (cùng một tệp trong các email khác nhau có thể được tính là các tệp đính kèm khác nhau) nhưng điều này cần thiết để đảm bảo tính hợp lệ của các phương thức ký khác nhau (DKIM, GPG, v.v.). Một tin nhắn lấy từ Wild Duck trông hoàn toàn giống với tin nhắn đã được lưu trữ mặc dù Wild Duck phân tích tin nhắn thành một đối tượng dạng cây và xây dựng lại tin nhắn khi lấy ra. Triển khai SQLite của Forward Email:

Forward Email áp dụng phương pháp này cho lưu trữ SQLite được mã hóa với quy trình sau:

  1. Tính toán Hash: Khi tìm thấy tệp đính kèm, một hash được tính bằng thư viện rev-hash từ nội dung tệp đính kèm
  2. Tra cứu: Kiểm tra xem có tệp đính kèm với hash trùng khớp trong bảng Attachments hay không
  3. Đếm tham chiếu:
    • Nếu tồn tại: Tăng bộ đếm tham chiếu lên 1 và bộ đếm magic lên một số ngẫu nhiên
    • Nếu mới: Tạo mục tệp đính kèm mới với bộ đếm = 1
  4. An toàn khi xóa: Sử dụng hệ thống bộ đếm kép (tham chiếu + magic) để ngăn ngừa kết quả dương tính giả
  5. Thu gom rác: Tệp đính kèm được xóa ngay lập tức khi cả hai bộ đếm đều về 0

Mã nguồn: helpers/attachment-storage.js

Luồng loại trùng

Hệ thống số magic

Forward Email sử dụng hệ thống "số magic" của WildDuck (lấy cảm hứng từ Mail.ru) để ngăn ngừa kết quả dương tính giả khi xóa:

  • Mỗi tin nhắn được gán một số ngẫu nhiên
  • Bộ đếm magic của tệp đính kèm được tăng lên bằng số ngẫu nhiên đó khi tin nhắn được thêm vào
  • Bộ đếm magic được giảm đi bằng số đó khi tin nhắn bị xóa
  • Tệp đính kèm chỉ bị xóa khi cả hai bộ đếm (tham chiếu + magic) đều về 0

Hệ thống bộ đếm kép này đảm bảo rằng nếu có sự cố xảy ra trong quá trình xóa (ví dụ: sự cố, lỗi mạng), tệp đính kèm sẽ không bị xóa sớm.

Sự khác biệt chính: WildDuck vs Forward Email

Tính năng WildDuck (MongoDB) Forward Email (SQLite)
Lưu trữ Backend MongoDB GridFS (chia khúc) SQLite BLOB (trực tiếp)
Thuật toán Hash SHA256 rev-hash (dựa trên SHA-256)
Đếm tham chiếu ✅ Có ✅ Có
Số magic ✅ Có (lấy cảm hứng Mail.ru) ✅ Có (hệ thống tương tự)
Thu gom rác Trì hoãn (công việc riêng) Ngay lập tức (khi bộ đếm về 0)
Nén ❌ Không ✅ Brotli (xem bên dưới)
Mã hóa ❌ Tùy chọn ✅ Luôn luôn (ChaCha20-Poly1305)

Nén Brotli

Important

Lần đầu tiên trên thế giới: Forward Email là dịch vụ email duy nhất trên thế giới sử dụng nén Brotli trên nội dung email. Điều này mang lại tiết kiệm lưu trữ 46-86% bên cạnh việc loại trùng tệp đính kèm.

Forward Email triển khai nén Brotli cho cả nội dung tệp đính kèm và metadata tin nhắn, cung cấp tiết kiệm lưu trữ lớn đồng thời duy trì khả năng tương thích ngược.

Triển khai: helpers/msgpack-helpers.js

Những gì được nén

1. Nội dung tệp đính kèm (encodeAttachmentBody)

  • Định dạng cũ: Chuỗi mã hóa hex (kích thước gấp 2 lần) hoặc Buffer thô
  • Định dạng mới: Buffer nén Brotli với tiêu đề magic "FEBR"
  • Quyết định nén: Chỉ nén nếu tiết kiệm không gian (tính cả tiêu đề 4 byte)
  • Tiết kiệm lưu trữ: Lên đến 50% (hex → BLOB gốc) 2. Siêu dữ liệu Tin nhắn (encodeMetadata)

Bao gồm: mimeTree, headers, envelope, flags

  • Định dạng cũ: Chuỗi văn bản JSON
  • Định dạng mới: Buffer nén Brotli
  • Tiết kiệm lưu trữ: 46-86% tùy thuộc vào độ phức tạp của tin nhắn

Cấu hình Nén

// Tùy chọn nén Brotli tối ưu cho tốc độ (cấp độ 4 là sự cân bằng tốt)
const BROTLI_COMPRESS_OPTIONS = {
  params: {
    [zlib.constants.BROTLI_PARAM_QUALITY]: 4
  }
};

Tại sao chọn Cấp độ 4?

  • Nén/giải nén nhanh: Xử lý dưới mili giây
  • Tỷ lệ nén tốt: Tiết kiệm 46-86%
  • Hiệu suất cân bằng: Tối ưu cho các hoạt động email thời gian thực

Magic Header: "FEBR"

Forward Email sử dụng một magic header 4 byte để nhận diện các phần thân đính kèm đã nén:

"FEBR" = Forward Email BRotli
Hex: 0x46 0x45 0x42 0x52

Tại sao cần magic header?

  • Phát hiện định dạng: Nhận diện ngay lập tức dữ liệu đã nén hay chưa nén
  • Tương thích ngược: Chuỗi hex cũ và Buffer thô vẫn hoạt động
  • Tránh xung đột: "FEBR" khó xuất hiện ở đầu dữ liệu đính kèm hợp lệ

Quy trình Nén

Quy trình Giải nén

Tương thích ngược

Tất cả các hàm giải mã tự động phát hiện định dạng lưu trữ:

Định dạng Phương pháp phát hiện Xử lý
Nén Brotli Kiểm tra magic header "FEBR" Giải nén với zlib.brotliDecompressSync()
Buffer thô Buffer.isBuffer() không có magic Trả về nguyên trạng
Chuỗi Hex Kiểm tra độ dài chẵn + ký tự [0-9a-f] Giải mã với Buffer.from(value, 'hex')
Chuỗi JSON Kiểm tra ký tự đầu tiên là { hoặc [ Phân tích với JSON.parse()

Điều này đảm bảo không mất dữ liệu trong quá trình chuyển đổi từ định dạng cũ sang mới.

Thống kê Tiết kiệm Lưu trữ

Tiết kiệm đo được từ dữ liệu thực tế:

Loại dữ liệu Định dạng cũ Định dạng mới Tiết kiệm
Thân đính kèm Chuỗi mã hóa hex (2x) BLOB nén Brotli 50%
Siêu dữ liệu tin nhắn Văn bản JSON BLOB nén Brotli 46-86%
Cờ hộp thư Văn bản JSON BLOB nén Brotli 60-80%

Nguồn: helpers/migrate-storage-format.js

Quy trình Di cư

Forward Email cung cấp quá trình di cư tự động, idempotent từ định dạng lưu trữ cũ sang mới: // Thống kê di chuyển được theo dõi: { attachmentsMigrated: 0, messagesMigrated: 0, mailboxesMigrated: 0, bytesSaved: 0 // Tổng số byte tiết kiệm được từ nén }


**Các bước di chuyển:**

1. Nội dung tệp đính kèm: mã hóa hex → BLOB gốc (tiết kiệm 50%)
2. Siêu dữ liệu tin nhắn: văn bản JSON → BLOB nén brotli (tiết kiệm 46-86%)
3. Cờ hộp thư: văn bản JSON → BLOB nén brotli (tiết kiệm 60-80%)

**Nguồn:** [`helpers/migrate-storage-format.js`](https://github.com/forwardemail/forwardemail.net/blob/master/helpers/migrate-storage-format.js)

---

### Hiệu quả lưu trữ kết hợp {#combined-storage-efficiency}

> \[!TIP]
> **Tác động thực tế:** Với việc loại bỏ trùng lặp tệp đính kèm + nén Brotli, người dùng Forward Email nhận được **lưu trữ hiệu quả gấp 2-3 lần** so với các nhà cung cấp email truyền thống.

**Tình huống ví dụ:**

Nhà cung cấp email truyền thống (hộp thư 1GB):

* 1GB dung lượng đĩa = 1GB email
* Không loại bỏ trùng lặp: Tệp đính kèm giống nhau lưu 10 lần = lãng phí lưu trữ gấp 10 lần
* Không nén: Siêu dữ liệu JSON đầy đủ được lưu = lãng phí lưu trữ gấp 2-3 lần

Forward Email (hộp thư 1GB):

* 1GB dung lượng đĩa ≈ **2-3GB email** (lưu trữ hiệu quả)
* Loại bỏ trùng lặp: Tệp đính kèm giống nhau lưu một lần, tham chiếu 10 lần
* Nén: Tiết kiệm 46-86% siêu dữ liệu, 50% tệp đính kèm
* Mã hóa: ChaCha20-Poly1305 (không tăng dung lượng lưu trữ)

**Bảng so sánh:**

| Nhà cung cấp      | Công nghệ lưu trữ                            | Lưu trữ hiệu quả (hộp thư 1GB) |
| ----------------- | -------------------------------------------- | ------------------------------- |
| Gmail             | Không                                        | 1GB                             |
| iCloud            | Không                                        | 1GB                             |
| Outlook.com       | Không                                        | 1GB                             |
| Fastmail          | Không                                        | 1GB                             |
| ProtonMail        | Chỉ mã hóa                                   | 1GB                             |
| Tutanota          | Chỉ mã hóa                                   | 1GB                             |
| **Forward Email** | **Loại bỏ trùng lặp + Nén + Mã hóa**         | **2-3GB** ✨                     |

### Chi tiết triển khai kỹ thuật {#technical-implementation-details}

**Hiệu suất:**

* Brotli cấp 4: Nén/giải nén dưới mili giây
* Không ảnh hưởng hiệu suất do nén
* SQLite FTS5: Tìm kiếm dưới 50ms với NVMe SSD

**Bảo mật:**

* Nén xảy ra **sau** mã hóa (cơ sở dữ liệu SQLite được mã hóa)
* Mã hóa ChaCha20-Poly1305 + nén Brotli
* Không kiến thức: Chỉ người dùng có mật khẩu giải mã

**Tuân thủ RFC:**

* Tin nhắn lấy ra trông **chính xác như** khi lưu trữ
* Chữ ký DKIM vẫn hợp lệ (nội dung mã hóa được giữ nguyên)
* Chữ ký GPG vẫn hợp lệ (không sửa đổi nội dung đã ký)

### Tại sao không nhà cung cấp nào khác làm được điều này {#why-no-other-provider-does-this}

**Độ phức tạp:**

* Yêu cầu tích hợp sâu với lớp lưu trữ
* Tương thích ngược khó khăn
* Di chuyển từ định dạng cũ phức tạp

**Lo ngại về hiệu suất:**

* Nén thêm tải CPU (đã giải quyết với Brotli cấp 4)
* Giải nén mỗi lần đọc (đã giải quyết với bộ nhớ đệm SQLite)

**Ưu thế của Forward Email:**

* Xây dựng từ đầu với tối ưu hóa trong tâm trí
* SQLite cho phép thao tác trực tiếp BLOB
* Cơ sở dữ liệu mã hóa theo người dùng cho phép nén an toàn

---

---


## Tính năng hiện đại {#modern-features}


## REST API hoàn chỉnh cho quản lý email {#complete-rest-api-for-email-management}

> \[!TIP]
> Forward Email cung cấp REST API toàn diện với 39 điểm cuối để quản lý email theo lập trình.

> \[!TIP]
> **Tính năng độc đáo trong ngành:** Khác với mọi dịch vụ email khác, Forward Email cung cấp truy cập lập trình đầy đủ vào hộp thư, lịch, danh bạ, tin nhắn và thư mục của bạn thông qua REST API toàn diện. Đây là tương tác trực tiếp với tệp cơ sở dữ liệu SQLite được mã hóa lưu trữ tất cả dữ liệu của bạn.

Forward Email cung cấp REST API hoàn chỉnh cho phép truy cập chưa từng có vào dữ liệu email của bạn. Không dịch vụ email nào khác (bao gồm Gmail, iCloud, Outlook, ProtonMail, Tuta hay Fastmail) cung cấp mức độ truy cập cơ sở dữ liệu trực tiếp toàn diện như vậy.
**Tài liệu API:** <https://forwardemail.net/en/email-api>

### Các danh mục API (39 điểm cuối) {#api-categories-39-endpoints}

**1. Messages API** (5 điểm cuối) - Thao tác CRUD đầy đủ trên các tin nhắn email:

* `GET /v1/messages` - Liệt kê tin nhắn với hơn 15 tham số tìm kiếm nâng cao (không dịch vụ nào khác có)
* `POST /v1/messages` - Tạo/gửi tin nhắn
* `GET /v1/messages/:id` - Lấy tin nhắn
* `PUT /v1/messages/:id` - Cập nhật tin nhắn (cờ, thư mục)
* `DELETE /v1/messages/:id` - Xóa tin nhắn

*Ví dụ: Tìm tất cả hóa đơn từ quý trước có tệp đính kèm:*

```bash
curl -u "alias@domain.com:password" \
  "https://api.forwardemail.net/v1/messages?q=subject:invoice+has:attachment+after:2024-01-01+before:2024-04-01"

Xem Tài liệu Tìm kiếm Nâng cao

2. Folders API (5 điểm cuối) - Quản lý thư mục IMAP đầy đủ qua REST:

  • GET /v1/folders - Liệt kê tất cả thư mục
  • POST /v1/folders - Tạo thư mục
  • GET /v1/folders/:id - Lấy thư mục
  • PUT /v1/folders/:id - Cập nhật thư mục
  • DELETE /v1/folders/:id - Xóa thư mục

3. Contacts API (5 điểm cuối) - Lưu trữ danh bạ CardDAV qua REST:

  • GET /v1/contacts - Liệt kê danh bạ
  • POST /v1/contacts - Tạo danh bạ (định dạng vCard)
  • GET /v1/contacts/:id - Lấy danh bạ
  • PUT /v1/contacts/:id - Cập nhật danh bạ
  • DELETE /v1/contacts/:id - Xóa danh bạ

4. Calendars API (5 điểm cuối) - Quản lý bộ lịch:

  • GET /v1/calendars - Liệt kê bộ lịch
  • POST /v1/calendars - Tạo lịch (ví dụ: "Lịch Công việc", "Lịch Cá nhân")
  • GET /v1/calendars/:id - Lấy lịch
  • PUT /v1/calendars/:id - Cập nhật lịch
  • DELETE /v1/calendars/:id - Xóa lịch

5. Calendar Events API (5 điểm cuối) - Lên lịch sự kiện trong các lịch:

  • GET /v1/calendar-events - Liệt kê sự kiện
  • POST /v1/calendar-events - Tạo sự kiện với người tham dự
  • GET /v1/calendar-events/:id - Lấy sự kiện
  • PUT /v1/calendar-events/:id - Cập nhật sự kiện
  • DELETE /v1/calendar-events/:id - Xóa sự kiện

Ví dụ: Tạo một sự kiện lịch:

curl -u "alias@domain.com:password" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"title":"Cuộc họp nhóm","start":"2024-12-20T10:00:00Z","attendees":["team@example.com"],"calendar_id":"calendar123"}' \
  https://api.forwardemail.net/v1/calendar-events

Chi tiết kỹ thuật

  • Xác thực: Xác thực đơn giản alias:password (không phức tạp như OAuth)
  • Hiệu năng: Thời gian phản hồi dưới 50ms với SQLite FTS5 và lưu trữ NVMe SSD
  • Không độ trễ mạng: Truy cập trực tiếp cơ sở dữ liệu, không qua dịch vụ bên ngoài

Các trường hợp sử dụng thực tế

  • Phân tích Email: Xây dựng bảng điều khiển tùy chỉnh theo dõi khối lượng email, thời gian phản hồi, thống kê người gửi

  • Quy trình tự động: Kích hoạt hành động dựa trên nội dung email (xử lý hóa đơn, vé hỗ trợ)

  • Tích hợp CRM: Đồng bộ cuộc trò chuyện email với CRM của bạn tự động

  • Tuân thủ & Khám phá: Tìm kiếm và xuất email cho yêu cầu pháp lý/tuân thủ

  • Khách hàng Email tùy chỉnh: Xây dựng giao diện email chuyên biệt cho quy trình làm việc của bạn

  • Trí tuệ doanh nghiệp: Phân tích mẫu giao tiếp, tỷ lệ phản hồi, tương tác khách hàng

  • Quản lý tài liệu: Trích xuất và phân loại tệp đính kèm tự động

  • Tài liệu đầy đủ

  • Tham khảo API đầy đủ

  • Hướng dẫn Tìm kiếm Nâng cao

  • Hơn 30 ví dụ tích hợp

  • Kiến trúc kỹ thuật

Forward Email cung cấp một REST API hiện đại cho phép kiểm soát đầy đủ tài khoản email, tên miền, bí danh và tin nhắn. API này là một lựa chọn mạnh mẽ thay thế cho JMAP và cung cấp chức năng vượt trội so với các giao thức email truyền thống.

Danh mục Điểm cuối Mô tả
Quản lý tài khoản 8 Tài khoản người dùng, xác thực, cài đặt
Quản lý tên miền 12 Tên miền tùy chỉnh, DNS, xác minh
Quản lý bí danh 6 Bí danh email, chuyển tiếp, catch-all
Quản lý tin nhắn 7 Gửi, nhận, tìm kiếm, xóa tin nhắn
Lịch & Danh bạ 4 Truy cập CalDAV/CardDAV qua API
Nhật ký & Phân tích 2 Nhật ký email, báo cáo giao hàng

Tính Năng Chính của API

Tìm Kiếm Nâng Cao:

API cung cấp khả năng tìm kiếm mạnh mẽ với cú pháp truy vấn tương tự Gmail:

GET /v1/messages?q=subject:invoice+has:attachment+after:2024-01-01+before:2024-04-01

Các Toán Tử Tìm Kiếm Hỗ Trợ:

  • from: - Tìm kiếm theo người gửi
  • to: - Tìm kiếm theo người nhận
  • subject: - Tìm kiếm theo chủ đề
  • has:attachment - Tin nhắn có tệp đính kèm
  • is:unread - Tin nhắn chưa đọc
  • is:starred - Tin nhắn được đánh dấu sao
  • after: - Tin nhắn sau ngày
  • before: - Tin nhắn trước ngày
  • label: - Tin nhắn có nhãn
  • filename: - Tên tệp đính kèm

Quản Lý Sự Kiện Lịch:

GET /v1/calendar-events
POST /v1/calendar-events
PUT /v1/calendar-events/:id
DELETE /v1/calendar-events/:id

Tích Hợp Webhook:

API hỗ trợ webhook để nhận thông báo thời gian thực về các sự kiện email (đã nhận, đã gửi, bị trả lại, v.v.).

Xác Thực:

  • Xác thực bằng khóa API
  • Hỗ trợ OAuth 2.0
  • Giới hạn tần suất: 1000 yêu cầu/giờ

Định Dạng Dữ Liệu:

  • Yêu cầu/phản hồi JSON
  • Thiết kế RESTful
  • Hỗ trợ phân trang

Bảo Mật:

  • Chỉ dùng HTTPS
  • Xoay vòng khóa API
  • Danh sách trắng IP (tùy chọn)
  • Ký yêu cầu (tùy chọn)

Kiến Trúc API


Thông Báo Đẩy iOS

Tip

Forward Email hỗ trợ thông báo đẩy iOS gốc thông qua XAPPLEPUSHSERVICE để gửi email ngay lập tức.

Important

Tính Năng Độc Đáo: Forward Email là một trong số ít máy chủ email mã nguồn mở hỗ trợ thông báo đẩy iOS gốc cho email, danh bạ và lịch qua phần mở rộng IMAP XAPPLEPUSHSERVICE. Điều này được đảo ngược từ giao thức của Apple và cung cấp giao hàng tức thì đến thiết bị iOS mà không làm hao pin.

Forward Email triển khai phần mở rộng độc quyền XAPPLEPUSHSERVICE của Apple, cung cấp thông báo đẩy gốc cho thiết bị iOS mà không cần phải kiểm tra nền.

Cách Hoạt Động

XAPPLEPUSHSERVICE là phần mở rộng IMAP không chuẩn cho phép ứng dụng Mail trên iOS nhận thông báo đẩy tức thì khi có email mới đến.

Forward Email triển khai tích hợp dịch vụ Thông báo Đẩy Apple (APNs) độc quyền cho IMAP, cho phép ứng dụng Mail trên iOS nhận thông báo đẩy tức thì khi có email mới đến.

Tính Năng Chính

Giao Hàng Tức Thì:

  • Thông báo đẩy đến trong vài giây
  • Không hao pin do kiểm tra nền liên tục
  • Hoạt động ngay cả khi ứng dụng Mail đóng
  • Giao Hàng Tức Thì: Email, sự kiện lịch và danh bạ xuất hiện trên iPhone/iPad của bạn ngay lập tức, không theo lịch kiểm tra định kỳ

  • Tiết Kiệm Pin: Sử dụng hạ tầng đẩy của Apple thay vì duy trì kết nối IMAP liên tục

  • Đẩy Theo Chủ Đề: Hỗ trợ thông báo đẩy cho các hộp thư cụ thể, không chỉ INBOX

  • Không Cần Ứng Dụng Bên Thứ Ba: Hoạt động với ứng dụng Mail, Lịch và Danh bạ gốc trên iOS Tích Hợp Gốc:

  • Được tích hợp sẵn trong ứng dụng Mail của iOS

  • Không cần ứng dụng bên thứ ba

  • Trải nghiệm người dùng liền mạch

Tập Trung Vào Quyền Riêng Tư:

  • Token thiết bị được mã hóa
  • Không gửi nội dung tin nhắn qua APNS
  • Chỉ gửi thông báo "thư mới"

Tiết Kiệm Pin:

  • Không kiểm tra IMAP liên tục
  • Thiết bị ngủ cho đến khi có thông báo đến
  • Tác động pin tối thiểu

Điều Gì Làm Cho Điều Này Đặc Biệt

Important

Hầu hết nhà cung cấp email không hỗ trợ XAPPLEPUSHSERVICE, buộc thiết bị iOS phải kiểm tra thư mới mỗi 15 phút.

Hầu hết các máy chủ email mã nguồn mở (bao gồm Dovecot, Postfix, Cyrus IMAP) KHÔNG hỗ trợ thông báo đẩy iOS. Người dùng phải:

  • Sử dụng IMAP IDLE (giữ kết nối mở, hao pin)
  • Sử dụng polling (kiểm tra mỗi 15-30 phút, thông báo bị trễ)
  • Sử dụng ứng dụng email độc quyền với hạ tầng đẩy riêng

Forward Email cung cấp trải nghiệm thông báo đẩy tức thì tương tự như các dịch vụ thương mại như Gmail, iCloud và Fastmail.

So Sánh Với Các Nhà Cung Cấp Khác:

Nhà Cung Cấp Hỗ Trợ Đẩy Khoảng Thời Gian Polling Tác Động Pin
Forward Email ✅ Đẩy Gốc Tức thì Tối thiểu
Gmail ✅ Đẩy Gốc Tức thì Tối thiểu
iCloud ✅ Đẩy Gốc Tức thì Tối thiểu
Yahoo ✅ Đẩy Gốc Tức thì Tối thiểu
Outlook.com ❌ Polling 15 phút Trung bình
Fastmail ❌ Polling 15 phút Trung bình
ProtonMail ⚠️ Chỉ qua Bridge Qua Bridge Cao
Tutanota ❌ Chỉ ứng dụng N/A N/A

Chi Tiết Triển Khai

Phản Hồi IMAP CAPABILITY:

* CAPABILITY IMAP4rev1 ... XAPPLEPUSHSERVICE ...

Quy Trình Đăng Ký:

  1. Ứng dụng Mail iOS phát hiện khả năng XAPPLEPUSHSERVICE
  2. Ứng dụng đăng ký token thiết bị với Forward Email
  3. Forward Email lưu token và liên kết với tài khoản
  4. Khi có thư mới, Forward Email gửi đẩy qua APNS
  5. iOS đánh thức ứng dụng Mail để lấy thư mới

Bảo Mật:

  • Token thiết bị được mã hóa khi lưu trữ
  • Token hết hạn và được làm mới tự động
  • Không tiết lộ nội dung tin nhắn cho APNS
  • Duy trì mã hóa đầu cuối
  • Mở Rộng IMAP: XAPPLEPUSHSERVICE
  • Mã Nguồn: WildDuck Issue #711
  • Cài Đặt: Tự động - không cần cấu hình, hoạt động ngay với ứng dụng Mail iOS

So Sánh Với Các Dịch Vụ Khác

Dịch Vụ Hỗ Trợ Đẩy iOS Phương Thức
Forward Email ✅ Có XAPPLEPUSHSERVICE (đảo ngược)
Gmail ✅ Có Ứng dụng Gmail độc quyền + đẩy Google
iCloud Mail ✅ Có Tích hợp gốc của Apple
Outlook.com ✅ Có Ứng dụng Outlook độc quyền + đẩy Microsoft
Fastmail ✅ Có XAPPLEPUSHSERVICE
Dovecot ❌ Không Chỉ IMAP IDLE hoặc polling
Postfix ❌ Không Chỉ IMAP IDLE hoặc polling
Cyrus IMAP ❌ Không Chỉ IMAP IDLE hoặc polling

Đẩy Gmail:

Gmail sử dụng hệ thống đẩy độc quyền chỉ hoạt động với ứng dụng Gmail. Ứng dụng Mail iOS phải kiểm tra máy chủ IMAP của Gmail.

Đẩy iCloud:

iCloud có hỗ trợ đẩy gốc tương tự Forward Email, nhưng chỉ dành cho địa chỉ @icloud.com.

Outlook.com:

Outlook.com không hỗ trợ XAPPLEPUSHSERVICE, yêu cầu ứng dụng Mail iOS phải kiểm tra mỗi 15 phút.

Fastmail:

Fastmail không hỗ trợ XAPPLEPUSHSERVICE. Người dùng phải dùng ứng dụng Fastmail để nhận thông báo đẩy hoặc chấp nhận độ trễ polling 15 phút.


Kiểm Tra Và Xác Minh

Kiểm Tra Khả Năng Giao Thức

Note

Phần này cung cấp kết quả của các bài kiểm tra khả năng giao thức mới nhất của chúng tôi, được thực hiện vào ngày 22 tháng 1 năm 2026.

Phần này chứa các phản hồi CAPABILITY/CAPA/EHLO thực tế từ tất cả các nhà cung cấp đã được kiểm tra. Tất cả các bài kiểm tra được thực hiện vào ngày 22 tháng 1 năm 2026.

Các bài kiểm tra này giúp xác minh sự hỗ trợ được quảng cáo và thực tế cho các giao thức email và các phần mở rộng khác nhau trên các nhà cung cấp lớn.

Phương pháp kiểm tra

Môi trường kiểm tra:

  • Ngày: 22 tháng 1 năm 2026 lúc 02:37 UTC
  • Vị trí: Phiên bản AWS EC2
  • IPv4: 54.167.216.197
  • IPv6: 2600:4040:46da:9a00:b19e:3ad4:426c:2f48
  • Công cụ: OpenSSL s_client, các script bash

Các nhà cung cấp được kiểm tra:

  • Forward Email
  • Gmail
  • Outlook.com
  • iCloud
  • Fastmail
  • Yahoo/AOL (Verizon)

Các script kiểm tra

Để minh bạch hoàn toàn, các script chính xác được sử dụng cho các bài kiểm tra này được cung cấp bên dưới.

Script kiểm tra khả năng IMAP

#!/bin/bash
# IMAP Capability Test Script
# Tests IMAP CAPABILITY for various email providers

echo "========================================="
echo "IMAP CAPABILITY TEST"
echo "Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
echo "========================================="
echo ""

# Gmail
echo "--- Gmail (imap.gmail.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.gmail.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""

# Outlook.com
echo "--- Outlook.com (outlook.office365.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect outlook.office365.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""

# iCloud
echo "--- iCloud (imap.mail.me.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.mail.me.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""

# Fastmail
echo "--- Fastmail (imap.fastmail.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.fastmail.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""

# Yahoo
echo "--- Yahoo (imap.mail.yahoo.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.mail.yahoo.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""

# Forward Email
echo "--- Forward Email (imap.forwardemail.net:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.forwardemail.net:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""

echo "========================================="
echo "Test completed"
echo "========================================="

Script kiểm tra khả năng POP3

#!/bin/bash
# POP3 Capability Test Script
# Tests POP3 CAPA for various email providers

echo "========================================="
echo "POP3 CAPABILITY TEST"
echo "Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
echo "========================================="
echo ""

# Gmail
echo "--- Gmail (pop.gmail.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop.gmail.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""

# Outlook.com
echo "--- Outlook.com (outlook.office365.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect outlook.office365.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""

# iCloud (Lưu ý: iCloud không hỗ trợ POP3)
echo "--- iCloud (No POP3 support) ---"
echo "iCloud does not support POP3"
echo ""

# Fastmail
echo "--- Fastmail (pop.fastmail.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop.fastmail.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""

# Yahoo
echo "--- Yahoo (pop.mail.yahoo.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop.mail.yahoo.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""

# Forward Email
echo "--- Forward Email (pop3.forwardemail.net:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop3.forwardemail.net:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""

echo "========================================="
echo "Test completed"
echo "========================================="

SMTP Capability Test Script

#!/bin/bash
# SMTP Capability Test Script
# Tests SMTP EHLO for various email providers

echo "========================================="
echo "KIỂM TRA KHẢ NĂNG SMTP"
echo "Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
echo "========================================="
echo ""

# Gmail
echo "--- Gmail (smtp.gmail.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.gmail.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""

# Outlook.com
echo "--- Outlook.com (smtp.office365.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.office365.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""

# iCloud
echo "--- iCloud (smtp.mail.me.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.mail.me.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""

# Fastmail
echo "--- Fastmail (smtp.fastmail.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.fastmail.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""

# Yahoo
echo "--- Yahoo (smtp.mail.yahoo.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.mail.yahoo.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""

# Forward Email
echo "--- Forward Email (smtp.forwardemail.net:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.forwardemail.net:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""

echo "========================================="
echo "Kiểm tra hoàn tất"
echo "========================================="

Test Results Summary

IMAP (CAPABILITY)

Forward Email

* CAPABILITY IMAP4rev1 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN CHILDREN ENABLE ID IDLE NAMESPACE QUOTA SASL-IR UNSELECT XLIST XAPPLEPUSHSERVICE

Gmail

* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT LIST-EXTENDED LIST-STATUS LITERAL- SPECIAL-USE

iCloud

* OK [CAPABILITY XAPPLEPUSHSERVICE IMAP4 IMAP4rev1 SASL-IR AUTH=ATOKEN AUTH=PLAIN AUTH=ATOKEN2 AUTH=XOAUTH2]

Outlook.com

* CAPABILITY IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+

Fastmail

* CAPABILITY IMAP4rev1 ACL ANNOTATE-EXPERIMENT-1 CATENATE CONDSTORE ENABLE ESEARCH ESORT I18NLEVEL=1 ID IDLE LIST-EXTENDED LIST-STATUS LITERAL+ LOGINDISABLED MULTIAPPEND NAMESPACE QRESYNC QUOTA RIGHTS=ektx SASL-IR SORT SPECIAL-USE THREAD=ORDEREDSUBJECT UIDPLUS UNSELECT WITHIN X-RENAME XLIST

Yahoo/AOL (Verizon)

* CAPABILITY IMAP4rev1 IDLE NAMESPACE QUOTA ID XLIST CHILDREN UIDPLUS MOVE CONDSTORE ESEARCH ENABLE LIST-EXTENDED LIST-STATUS LITERAL- SPECIAL-USE UNSELECT XAPPLEPUSHSERVICE

POP3 (CAPA)

Forward Email

+OK
CAPA
TOP
USER
UIDL
EXPIRE 30
IMPLEMENTATION ForwardEmail
.

Gmail

+OK
CAPA
TOP
USER
UIDL
EXPIRE 30
IMPLEMENTATION Gpop
.

Outlook.com

+OK
CAPA
TOP
USER
UIDL
SASL PLAIN XOAUTH2
.

Fastmail

+OK
CAPA
TOP
USER
UIDL
EXPIRE 30
IMPLEMENTATION Cyrus
.

SMTP (EHLO)

Forward Email

250-smtp.forwardemail.net
250-PIPELINING
250-SIZE 52428800
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 CHUNKING

Gmail

250-smtp.gmail.com at your service
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8

Outlook.com

250-SN4PR13CA0005.outlook.office365.com Hello [x.x.x.x]
250-SIZE 157286400
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 SMTPUTF8

Fastmail

250-smtp.fastmail.com
250-PIPELINING
250-SIZE 78643200
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 CHUNKING

Yahoo/AOL (Verizon)

250-smtp.mail.yahoo.com
250-PIPELINING
250-SIZE 41943040
250-8BITMIME
250-ENHANCEDSTATUSCODES
250-STARTTLS

Kết Quả Kiểm Tra Chi Tiết

Kết Quả Kiểm Tra IMAP

Gmail: * CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN AUTH=OAUTHBEARER

Outlook.com: * CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+

iCloud: * CAPABILITY XAPPLEPUSHSERVICE IMAP4 IMAP4rev1 SASL-IR AUTH=ATOKEN AUTH=PLAIN AUTH=ATOKEN2 AUTH=XOAUTH2

Fastmail: Kết nối hết thời gian chờ. Xem ghi chú bên dưới.

Yahoo: * CAPABILITY IMAP4rev1 SASL-IR AUTH=PLAIN AUTH=XOAUTH2 AUTH=OAUTHBEARER ID MOVE NAMESPACE XYMHIGHESTMODSEQ UIDPLUS LITERAL+ CHILDREN UNSELECT X-MSG-EXT OBJECTID IDLE ENABLE UIDONLY X-ALL-MAIL X-UIDONLY LIST-EXTENDED LIST-STATUS SPECIAL-USE PARTIAL APPENDLIMIT=41697280

Forward Email: * CAPABILITY XAPPLEPUSHSERVICE IMAP4rev1 APPENDLIMIT=52428800 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN CHILDREN CONDSTORE ENABLE ID IDLE MOVE NAMESPACE QUOTA SASL-IR SPECIAL-USE UIDPLUS UNSELECT UTF8=ACCEPT XLIST

Kết Quả Kiểm Tra POP3

Gmail: Kết nối không trả về phản hồi CAPA nếu không xác thực.

Outlook.com: Kết nối không trả về phản hồi CAPA nếu không xác thực.

iCloud: Không hỗ trợ.

Fastmail: Kết nối hết thời gian chờ. Xem ghi chú bên dưới.

Yahoo: +OK CAPA list follows... SASL PLAIN XOAUTH2

Forward Email: Kết nối không trả về phản hồi CAPA nếu không xác thực.

Kết Quả Kiểm Tra SMTP

Gmail: 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH

Outlook.com: 250-DSN

iCloud: 250-DSN

Fastmail: 250 AUTH PLAIN LOGIN XOAUTH2 OAUTHBEARER

Yahoo: 250 AUTH PLAIN LOGIN XOAUTH2 OAUTHBEARER

Forward Email: 250-DSN, 250-REQUIRETLS

Ghi Chú Về Kết Quả Kiểm Tra

Note

Những quan sát và giới hạn quan trọng từ kết quả kiểm tra.

  1. Fastmail Hết Thời Gian Chờ: Kết nối Fastmail bị hết thời gian chờ trong quá trình kiểm tra, có thể do giới hạn tần suất hoặc hạn chế tường lửa từ IP máy chủ kiểm tra. Fastmail được biết đến với hỗ trợ IMAP/POP3/SMTP mạnh mẽ dựa trên tài liệu của họ.

  2. Phản Hồi CAPA POP3: Một số nhà cung cấp (Gmail, Outlook.com, Forward Email) không trả về phản hồi CAPA nếu không xác thực. Đây là thực hành bảo mật phổ biến cho máy chủ POP3.

  3. Hỗ Trợ DSN: Chỉ Outlook.com, iCloud và Forward Email công khai hỗ trợ DSN trong phản hồi EHLO SMTP của họ. Điều này không nhất thiết có nghĩa các nhà cung cấp khác không hỗ trợ DSN, nhưng họ không quảng cáo nó.

  4. REQUIRETLS: Chỉ Forward Email công khai hỗ trợ REQUIRETLS với hộp kiểm bắt buộc người dùng. Các nhà cung cấp khác có thể hỗ trợ nội bộ nhưng không quảng cáo trong EHLO.

  5. Môi Trường Kiểm Tra: Các kiểm tra được thực hiện từ phiên bản AWS EC2 (IP: 54.167.216.197 IPv4, 2600:4040:46da:9a00:b19e:3ad4:426c:2f48 IPv6) vào ngày 22 tháng 1 năm 2026 lúc 02:37 UTC.


Tóm Tắt

Forward Email cung cấp hỗ trợ giao thức RFC toàn diện trên tất cả các tiêu chuẩn email chính:

  • IMAP4rev1: 16 RFC được hỗ trợ với các khác biệt có chủ đích được ghi chép
  • POP3: 4 RFC được hỗ trợ với xóa vĩnh viễn tuân thủ RFC
  • SMTP: 11 phần mở rộng được hỗ trợ bao gồm SMTPUTF8, DSN, và PIPELINING
  • Xác Thực: Hỗ trợ đầy đủ DKIM, SPF, DMARC, ARC
  • Bảo Mật Vận Chuyển: Hỗ trợ đầy đủ MTA-STS và REQUIRETLS, hỗ trợ một phần DANE
  • Mã Hóa: Hỗ trợ OpenPGP v6 và S/MIME
  • Lịch: Hỗ trợ đầy đủ CalDAV, CardDAV, và VTODO
  • Truy Cập API: API REST hoàn chỉnh với 39 điểm cuối cho truy cập cơ sở dữ liệu trực tiếp
  • Đẩy iOS: Thông báo đẩy gốc cho email, danh bạ và lịch qua XAPPLEPUSHSERVICE

Điểm Khác Biệt Chính

Tip

Forward Email nổi bật với các tính năng độc đáo không có ở các nhà cung cấp khác.

Điều Gì Làm Forward Email Đặc Biệt:

  1. Mã Hóa An Toàn Lượng Tử - Nhà cung cấp duy nhất với hộp thư SQLite mã hóa ChaCha20-Poly1305
  2. Kiến Trúc Không Biết Gì - Mật khẩu của bạn mã hóa hộp thư; chúng tôi không thể giải mã
  3. Tên Miền Tùy Chỉnh Miễn Phí - Không phí hàng tháng cho email tên miền tùy chỉnh
  4. Hỗ Trợ REQUIRETLS - Hộp kiểm bắt buộc người dùng để thực thi TLS cho toàn bộ đường truyền
  5. API Toàn Diện - 39 điểm cuối REST API cho kiểm soát lập trình đầy đủ
  6. Thông Báo Đẩy iOS - Hỗ trợ gốc XAPPLEPUSHSERVICE cho giao hàng tức thì
  7. Mã Nguồn Mở - Mã nguồn đầy đủ có trên GitHub
  8. Tập Trung Vào Quyền Riêng Tư - Không khai thác dữ liệu, không quảng cáo, không theo dõi
  • Mã hóa trong môi trường cách ly: Duy nhất dịch vụ email với hộp thư SQLite được mã hóa riêng lẻ
  • Tuân thủ RFC: Ưu tiên tuân thủ tiêu chuẩn hơn sự tiện lợi (ví dụ: POP3 DELE)
  • API hoàn chỉnh: Truy cập lập trình trực tiếp đến tất cả dữ liệu email
  • Mã nguồn mở: Triển khai hoàn toàn minh bạch

Tóm tắt hỗ trợ giao thức:

Danh mục Mức độ hỗ trợ Chi tiết
Giao thức cốt lõi ✅ Xuất sắc Hỗ trợ đầy đủ IMAP4rev1, POP3, SMTP
Giao thức hiện đại ⚠️ Một phần Hỗ trợ một phần IMAP4rev2, không hỗ trợ JMAP
Bảo mật ✅ Xuất sắc DKIM, SPF, DMARC, ARC, MTA-STS, REQUIRETLS
Mã hóa ✅ Xuất sắc OpenPGP, S/MIME, mã hóa SQLite
CalDAV/CardDAV ✅ Xuất sắc Đồng bộ lịch và danh bạ đầy đủ
Lọc ✅ Xuất sắc Sieve (24 tiện ích mở rộng) và ManageSieve
API ✅ Xuất sắc 39 điểm cuối REST API
Push ✅ Xuất sắc Thông báo đẩy gốc trên iOS