RFC 5248: Sổ Đăng Ký Mã Trạng Thái Nâng Cao SMTP
Tại Sao Điều Này Tồn Tại
Mã trạng thái nâng cao (RFC 3463) sử dụng định dạng ba phần class.subject.detail để mô tả chính xác lý do một tin nhắn được chấp nhận, từ chối hoặc trì hoãn. RFC ban đầu đã định nghĩa một bộ mã cố định, nhưng các công nghệ email mới liên tục cần các mã mới:
- Những lỗi DMARC cần
5.7.25và5.7.26 - Null MX (RFC 7505) cần
5.1.10 - Yêu cầu TLS cần các mã trong phạm vi bảo mật
X.7.X - Các tiện ích mở rộng xác thực cần
X.7.20đếnX.7.27
Không có sổ đăng ký chính thức, các mã mới được gán tạm thời và có nguy cơ xung đột. RFC 5248 thiết lập sổ đăng ký IANA "Simple Mail Transfer Protocol (SMTP) Enhanced Status Codes" với các quy tắc rõ ràng cho việc đăng ký và yêu cầu rằng mỗi mã mới phải có một định nghĩa xác định.
Cách Nó Hoạt Động
Sổ đăng ký sắp xếp các mã theo ba thành phần của chúng. Các mã mới được thêm vào thông qua quy trình tiêu chuẩn IETF, và mỗi mục nhập ghi lại:
Định Dạng Mục Nhập Sổ Đăng Ký
| Trường | Mô Tả |
|---|---|
| Mã | Mã trạng thái nâng cao X.Y.Z |
| Văn Bản Mẫu | Mô tả có thể đọc được của con người về tình trạng |
| Mã Trạng Thái Cơ Bản Liên Quan | Các mã trả lời SMTP mà mã nâng cao này có thể xuất hiện cùng |
| Mô Tả | Giải thích chi tiết về khi nào sử dụng mã này |
| Tham Chiếu | RFC hoặc tài liệu đã định nghĩa mã này |
| Người Gửi | Ai đã yêu cầu đăng ký |
| Bộ Điều Khiển Thay Đổi | Ai có thể cập nhật mục nhập này (thường là IESG) |
Phản Hồi SMTP Với Mã Được Định Nghĩa Trong Sổ Đăng Ký
MAIL FROM:<sender@example.com> 250 2.1.0 Originator address accepted RCPT TO:<user@example.org> 550 5.7.26 This message does not pass DMARC evaluation ^^^^^ Đã đăng ký trong sổ đăng ký IANA, được định nghĩa bởi RFC 7372 RCPT TO:<nobody@null-mx.example> 556 5.1.10 Recipient address has null MX ^^^^^^ Đã đăng ký trong sổ đăng ký IANA, được định nghĩa bởi RFC 7505
Chi Tiết Kỹ Thuật Chính
Mã Trạng Thái Liệt Kê (Lớp + Chủ Đề)
RFC 5248 định nghĩa "mã trạng thái liệt kê" kết hợp các giá trị lớp và chủ đề. Lớp vẫn là 2, 4, hoặc 5, và các giá trị chủ đề là:
| Chủ Đề | Danh Mục | Mã Ví Dụ |
|---|---|---|
X.0.X |
Khác / Không Xác Định |
X.0.0 — trạng thái không xác định khác |
X.1.X |
Địa Chỉ |
5.1.1 hộp thư xấu, 5.1.2 tên miền xấu, 5.1.10 null MX |
X.2.X |
Hộp Thư |
4.2.2 hộp thư đầy, 5.2.1 hộp thư bị vô hiệu hóa |
X.3.X |
Hệ Thống Thư |
5.3.4 tin nhắn quá lớn |
X.4.X |
Mạng / Định Tuyến |
4.4.1 không có phản hồi từ máy chủ, 4.4.2 kết nối xấu |
X.5.X |
Giao Thức Giao Dịch Thư |
5.5.1 lệnh không hợp lệ, 5.5.2 lỗi cú pháp |
X.6.X |
Nội Dung Tin Nhắn |
5.6.1 loại phương tiện không được hỗ trợ |
X.7.X |
Bảo Mật / Chính Sách |
5.7.1 giao dịch từ chối, 5.7.26 DMARC thất bại |
Các Mã Được Thêm Vào Kể Từ RFC 3463
| Mã | Ý Nghĩa | Được Định Nghĩa Bởi |
|---|---|---|
5.7.20 |
Không tìm thấy chữ ký DKIM hợp lệ | RFC 7372 |
5.7.21 |
Không tìm thấy chữ ký DKIM chấp nhận được | RFC 7372 |
5.7.22 |
Không có chữ ký DKIM khớp với tác giả hợp lệ | RFC 7372 |
5.7.23 |
Xác thực SPF thất bại | RFC 7372 |
5.7.24 |
Lỗi xác thực SPF | RFC 7372 |
5.7.25 |
Xác thực DNS ngược thất bại | RFC 7372 |
5.7.26 |
Nhiều kiểm tra xác thực thất bại (DMARC) | RFC 7372 |
5.7.27 |
Địa chỉ người gửi có null MX | RFC 7505 |
5.1.10 |
Địa chỉ người nhận có null MX | RFC 7505 |
Chính Sách Đăng Ký
Các mã mới yêu cầu "Specification Required" theo chính sách IANA. Điều này có nghĩa là một đặc điểm kỹ thuật được xuất bản (thường là một RFC) phải định nghĩa ngữ nghĩa của mã. Người đánh giá chuyên gia được chỉ định đảm bảo không có xung đột với các mã hiện có và mã mới phù hợp với danh mục chủ đề chính xác.
Những Lỗi Phổ Biến
- Mã hóa cứng một bộ mã trạng thái cố định. Sổ đăng ký có thể mở rộng. Các mã mới được thêm vào thường xuyên. Xây dựng bộ xử lý phản hồi của bạn để xử lý các mã không xác định một cách duyên dáng bằng cách quay lại lớp (2/4/5) và danh mục chủ đề.
- Phát minh ra các mã không được đăng ký. Một số máy chủ thư trả về các mã trạng thái nâng cao tùy chỉnh không có trong sổ đăng ký. Mặc dù về mặt kỹ thuật hợp lệ như sử dụng riêng, điều này gây hại cho khả năp tương tác. Sử dụng các mã đã đăng ký bất cứ khi nào có thể.
-
Bỏ qua chữ số lớp khi xử lý các mã mới. Nếu bạn gặp
5.7.28(một mã tương lai giả định), bạn có thể không biết ý nghĩa cụ thể của nó, nhưng bạn biết nó là một lỗi bảo mật/chính sách vĩnh viễn. Lớp và chủ đề luôn có ý nghĩa. -
Không phân biệt giữa lớp 4 và lớp 5.
4.2.2(hộp thư đầy, tạm thời) và5.2.1(hộp thư bị vô hiệu hóa, vĩnh viễn) chia sẻ cùng một chủ đề nhưng yêu cầu xử lý hoàn toàn khác nhau. Luôn kiểm tra lớp trước tiên. - Giả định tất cả các máy chủ sử dụng các mã nâng cao. Tiện ích mở rộng SMTP ENHANCEDSTATUSCODES được triển khai rộng rãi nhưng không phổ biến. Bộ phân tích phản hồi của bạn phải xử lý các phản hồi chỉ chứa mã ba chữ số cơ bản.
Tác Động Đến Khả Năng Giao Dịch
-
Phân loại phản hồi chính xác. Sổ đăng ký cung cấp cho bạn một từ vựng tiêu chuẩn hóa cho lý do tại sao tin nhắn thất bại.
5.7.26có nghĩa là lỗi DMARC — sửa xác thực của bạn.5.1.1có nghĩa là địa chỉ không hợp lệ — loại bỏ nó khỏi danh sách của bạn. Nếu không tham khảo sổ đăng ký, bạn đang đoán. -
Chẩn đoán lỗi xác thực. Dạo này
5.7.20–5.7.26được thêm bởi RFC 7372 cho phép bạn xác định chính xác cơ chế xác thực nào thất bại: DKIM, SPF, DNS ngược hoặc căn chỉnh DMARC. -
Xử lý phản hồi không có lỗi trong tương lai. Bằng cách phân tích lớp và chủ đề từ bất kỳ mã nào, thậm chí những mã chưa được nhận dạng, hệ thống của bạn sẽ giảm mức độ một cách duyên dáng khi các mã mới được đăng ký. Một mã
5.7.Xmà bạn chưa bao giờ thấy vẫn là một từ chối bảo mật vĩnh viễn. - Tương quan với báo cáo DSN. Các mã trạng thái nâng cao xuất hiện trong cả phản hồi SMTP và báo cáo DSN (RFC 3464). Sổ đăng ký đảm bảo cùng một mã có cùng một ý nghĩa trong cả hai bối cảnh, cho phép xử lý phản hồi nhất quán.