← RFC Reference

RFC 3462: Loại Nội dung Multipart/Report

Deprecated by RFC 6522 Delivery Status & Bounce Handling Obsoletes RFC 1892 Published March 2026
ELI5: Hãy tưởng tượng một thư mục manila tiêu chuẩn để báo cáo sự cố liên quan đến thư. Trang đầu tiên là tóm tắt bằng tiếng Anh thuần, trang thứ hai là một biểu mẫu với các hộp kiểm và mã mà máy tính có thể đọc được, và trang thứ ba là bản photocopy của bức thư gốc. RFC 3462 đã xác định định dạng thư mục này cho email. Kể từ đó, nó đã được thay thế bằng [RFC 6522](6522), nhưng khái niệm vẫn giống hệt nhau.

Tại Sao Điều Này Tồn Tại

Khi framework DSN (Delivery Status Notification) được tạo ra vào giữa những năm 1990, các tác giả cần một MIME container có thể mang cả nội dung có thể đọc được bởi con người và có thể đọc được bởi máy trong cùng một thông điệp. multipart/mixed thông thường sẽ hoạt động về mặt cấu trúc, nhưng nó không cung cấp tín hiệu ngữ nghĩa rằng thông điệp là một báo cáo tự động với định dạng nội bộ cụ thể.

multipart/report giải quyết điều này bằng cách:

RFC 3462 là bản sửa đổi thứ hai của thông số này (sau RFC 1892). Nó sau đó bị lỗi thời bởi RFC 6522, giới hạn ngôn ngữ và cập nhật đăng ký IANA. Định dạng dây thực tế không thay đổi — các thông điệp tuân thủ RFC 3462 cũng tuân thủ RFC 6522.

Cách Nó Hoạt Động

Loại nội dung multipart/report hoạt động như bất kỳ MIME multipart nào, với các ràng buộc được thêm vào:

Khai Báo Content-Type

Content-Type: multipart/report; report-type=delivery-status;
    boundary="REPORT-BOUNDARY"

Tham số report-type cho người nhận biết loại báo cáo này là gì. Tham số boundary tách các phần MIME, giống như bất kỳ thông điệp multipart nào.

Cấu Trúc Ba Phần

--REPORT-BOUNDARY
Content-Type: text/plain

; Phần 1: Tóm tắt có thể đọc được bởi con người
Gửi đến user@example.org không thành công vĩnh viễn.
Hộp thư người nhận không tồn tại.

--REPORT-BOUNDARY
Content-Type: message/delivery-status

; Phần 2: Báo cáo có thể đọc được bởi máy
Reporting-MTA: dns; mx.example.com

Final-Recipient: rfc822;user@example.org
Action: failed
Status: 5.1.1

--REPORT-BOUNDARY
Content-Type: text/rfc822-headers

; Phần 3: Tiêu đề thông điệp gốc (tùy chọn)
From: sender@example.com
To: user@example.org
Subject: Hello
Message-ID: <msg-001@example.com>

--REPORT-BOUNDARY--

Chi Tiết Kỹ Thuật Chính

Các Loại Báo Cáo Được Xác Định Theo Thời Gian

Khi RFC 3462 được xuất bản, chỉ delivery-status tồn tại. Các RFC sau đó đã thêm nhiều loại báo cáo khác đều sử dụng container multipart/report giống nhau:

report-type Mục Đích Được Xác Định Bởi
delivery-status Bounce / thông báo gửi RFC 3464
disposition-notification Biên lai đã đọc (MDN) RFC 8098
feedback-report Khiếu nại spam (ARF) RFC 5965
tlsrpt Lỗi thương lượng TLS RFC 8460

Phần Tối Thiểu Được Yêu Cầu

RFC 3462 yêu cầu ít nhất hai phần: tóm tắt có thể đọc được bởi con người và báo cáo có thể đọc được bởi máy. Phần thứ ba (thông điệp gốc) là tùy chọn nhưng được khuyến khích mạnh mẽ cho DSN, vì nó cho phép người gửi xác định thông điệp nào bị bounce.

Mối Quan Hệ Với RFC 6522

RFC 6522 lỗi thời tài liệu này. Những thay đổi là biên tập, không phải hành vi:

Nếu mã của bạn đã xử lý RFC 3462 một cách chính xác, nó cũng xử lý RFC 6522. Định dạng dây không thay đổi.

Lỗi Phổ Biến

Tác Động Khả Năng Gửi

Related RFCs