Định dạng mbox

Cách khách hàng email lưu trữ thư trên đĩa cứng của bạn

Định dạng phổ biến nhất cho việc lưu trữ thư là định dạng mbox. MBOX là viết tắt của MailBOX. Mbox là một tệp có chứa không hoặc nhiều thư.

Định dạng mbox

Nếu chúng tôi sử dụng định dạng mbox để lưu trữ email, chúng tôi sẽ đặt tất cả chúng trong một tệp. Điều này tạo ra tập tin văn bản dài hơn hoặc ít hơn (email Internet luôn chỉ tồn tại dưới dạng văn bản ASCII 7 bit, mọi thứ khác - tệp đính kèm, ví dụ - được mã hóa ) có chứa một thông báo email sau cái kia. Làm thế nào để chúng ta biết nơi kết thúc và người khác bắt đầu?

May mắn thay, mỗi email đều có ít nhất một từ ngay từ đầu. Mọi thông điệp bắt đầu bằng "Từ" (Từ sau đó là ký tự khoảng trắng, còn được gọi là dòng "From_"). Nếu chuỗi này ("Từ") ở đầu một dòng được bắt đầu bởi một dòng trống hoặc nằm ở đầu tệp, chúng tôi đã tìm thấy phần đầu của một thư.

Vì vậy, những gì chúng tôi tìm kiếm khi phân tích cú pháp một tệp mbox, về cơ bản, một dòng trống, tiếp theo là "Từ".

Như một biểu thức chính quy, chúng ta có thể viết nó là "\ n \ nTừ. * \ N". Chỉ thông điệp đầu tiên là khác nhau. Nó bắt đầu đơn thuần với "From" ở đầu dòng ("^ From. * \ N").

& # 34; Từ & # 34; trong cơ thể

Điều gì xảy ra nếu chính xác trình tự ở trên xuất hiện trong phần nội dung của một email? Điều gì sẽ xảy ra nếu sau đây là một phần của email?

... Tôi gửi cho bạn báo cáo mới nhất.

Từ báo cáo này, bạn không cần ...

Ở đây, chúng ta có một dòng trống, tiếp theo là "Từ" ở đầu dòng. Nếu điều này xuất hiện trong một tệp mbox, chúng tôi không thể nhầm lẫn có phần bắt đầu của một thư mới. Ít nhất đó là điều mà trình phân tích cú pháp nghĩ - và tại sao cả ứng dụng email và chúng ta sẽ khá bối rối bởi một thông điệp email không chứa người gửi cũng như người nhận, nhưng bắt đầu bằng "Từ báo cáo này".

Để tránh những điều kiện tai hại như vậy, chúng tôi cần đảm bảo "Từ" không bao giờ xuất hiện ở đầu dòng sau dòng trống trong phần nội dung của email.

Bất cứ khi nào chúng tôi thêm một tin nhắn mới vào một tập tin mbox , chúng tôi tìm kiếm các chuỗi như vậy trong cơ thể và chỉ cần thay thế "Từ" bằng "> Từ". Điều này làm cho việc giải thích sai không thể. Ví dụ ở trên trông giống như thế này và không còn kích hoạt trình phân tích cú pháp nữa:

... Tôi gửi cho bạn báo cáo mới nhất.

> Từ báo cáo này, bạn không cần ...

Đây là lý do tại sao đôi khi bạn có thể tìm thấy "> Từ" trong email mà bạn mong đợi chỉ là "Từ".