2011-06-20 75 views
1

出於某種原因,我需要從/ var/mail/username文件中獲取電子郵件。它看起來像只附加文件。在Ruby中解析/ var/email/username文件

我的問題是,根據第一行From [email protected] Mon Jun 20 16:50:15 2011解析/ var/email/username文件的內容是否安全?如果在電子郵件正文中找到類似的模式會怎麼樣?

此外,是否有任何開源ruby腳本可供參考?

回答

2

是的,這似乎是或多或少地解析mbox格式正確的方式 - 從RFC specification的快速掃描:

的分隔線 跨越實現而不同的結構,但通常
包含精確的字符 的「從」序列,隨後
單個空格字符(0×20),某種類型的 電子郵件地址,另一個
空格字符,時間戳順序某種類型的,以及行尾 標記。

而且......

許多實現也被稱爲 逃跑消息的車身線條是
與 「從」字符序列開頭,以防止與overly-混亂 自由分析器 不搜索全分隔符 行。在通常情況下,爲此目的使用大於號(0x3E)的前導 (與「From」 成爲「> From」)。但是,其他 實現已知不是 轉義這樣的行,除非它們是 之前立即空行 或者它們也似乎包含 電子郵件地址和時間戳。 其他的實現也是 已知執行二級轉義 針對這些行如果他們 已經逃脫或引用,而 其他人完全忽略這些機制 。

更新: 還有這個:https://github.com/meh/ruby-mbox

+0

公寓的回答,謝謝。 – intellidiot