簡介
本文件說明 Unix 信箱 (mbox) 格式,以及此格式與思科電子郵件安全設備 (ESA) 相關的用途。
什麼是 UNIX mbox(信箱)格式?
當消息存檔並記錄在消息過濾器log()操作中時,AsyncOS使用UNIX mbox格式。「存檔郵件」是ESA上Ironport Anit-spam (IPAS)、防病毒(Sophos和McAfee)、高級惡意軟體防護(AMP)和灰色郵件的附加配置選項。
Mbox格式是ASCII格式的(即非二進位制)檔案格式,可以包含零封或多封郵件。消息在mbox檔案中進行串聯,並且可以根據檔案中的特定字串進行分隔。此格式與在RFC 2821相容郵件網關之間傳輸的消息完全相同。
mbox格式的每個訊息都以字串「From」(ASCII字元F、r、o、m和空格)開頭。「寄件者」行後面還有幾個欄位:信封-寄件者、日期和(可選)更多資料。
「From」字串後的第一個欄位是郵件的信封-發件人。根據建立mbox檔案的應用程式的不同,信封發件人可能以真實郵箱的形式存在,也可能以其他字元或字串形式存在。最常見的情況是,如果實際的信封發件人不可用或未知,您會發現「-」(單字元短劃線)會取代信封發件人。ESA插入的日期欄位為標準UNIX asctime()格式,長度一律為24個字元。在由非AsyncOS實現編寫的一些mbox檔案中,日期戳後會提供詳細資訊。這三個欄位用單個空格分隔。
以下是mbox檔案中含有單一訊息的範例:
From Adam@Outside.COM Sun Oct 17 12:03:20 2004
Received: from mail.outside.com (192.35.195.200)
by smtp.alpha.com with ESMTP; 17 Oct 2004 12:03:20 -0700
X-IronPort-AV: i="3.85,147,1094454000";
v="EICAR-AV-Test'0'v";
d="scan'208"; a="86:adNrHT37924848"
X-IronPort-RCPT-TO: alan@mail.example.com
From: Adam@Outside.COM
To: Alan Alpha
Subject: Exercise 7a Anti-Virus Scanning
Reply-To: Adam Alpha
Date: Sun, 17 Oct 2004 12:02:39 -0700
MIME-version: 1.0
Content-type: multipart/mixed; boundary="IronPort"
--IronPort
Content-type: text/plain; format=flowed; charset=us-ascii
Content-transfer-encoding: 7bit
Blah blah blah blah blah
Blah blah blah blah blah
Blah blah blah blah blah
...
--IronPort
Content-type: text/plain
Content-transfer-encoding: 7bit
Content-disposition: inline
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*">X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
--IronPort--
剖析mbox格式檔案時,最好不要在分隔訊息的「從」行中讀取太多語意。由於許多不同的公用程式會寫入mbox檔案,因此這些行會有相當大的差異。但是,「從」行始終可用作消息分隔行,以便可靠地指示mbox檔案中已啟動新消息。總之,在「從」消息分隔符後面的字串大約有20種已知格式,這通常使得剖析它們非常困難。
「發件人」行後是RFC 2822格式的電子郵件,其中包含一系列郵件正文標題,後跟空白行,後跟其他郵件正文內容。
為確保消息正確分隔,以字串「From」開頭的行始終由單個「>」加字首。mbox檔案的各種不同變體會以不同方式處理以「>From」開頭的行。在編寫mbox檔案的應用程式的早期實現中,這些行本身並不被引用。AsyncOS日誌檔案將始終將「>」增加到以一個或多個「>」字元開頭,後跟「From」的行。
以下是mbox檔案的範例,其中包含訊息,其中含有起始字串「From」、「>From」和「>>>>From」:
From jtrumbo@example1.com Sun Dec 12 12:27:33 2004
X-IronPort-RCPT-TO: trumbo@example1.com
From: jtrumbo@example1.com
To: trumbo@example2.com
Subject: Quote this, if you dare
Date: Sun, 12 Dec 2004 12:28:00 -0700
The following line is just From
>From A From Line
The following line has quoted >From
>>From A >From Line
The following line has many >>>>From
>>>>>From This line has 4 > characters before From
And this is the last line
mbox格式檔案中的訊息結尾通常以空白行標示。但是,這種情況並不總是存在(儘管AsyncOS確實會將其放置在那裡)。剖析mbox格式檔案時,您應該以新訊息的開頭(如果出現空白行,請刪除空白行)或檔案結尾來表示訊息結束。
mbox格式的另一種變體要求在消息報頭的「Content-Length」欄位中傳送信令的消息長度。該格式未使用「自」行報價。AsyncOS不使用此格式,也不插入Content-Length欄位。