2011-06-20 8 views
1

何らかの理由で、私は/ var/mail/usernameファイルからメールを取得する必要があります。それは、添付ファイルのみのようです。Rubyでの/ var/email/usernameファイルの解析

私の質問は、最初の行に応じて/ var/email/usernameファイルの内容を解析するのは安全ですか?From [email protected] Mon Jun 20 16:50:15 2011?同じようなパターンが電子メール本文の中にある場合はどうなりますか?

また、参照用にオープンソースのルビスクリプトがありますか?

答えて

2

はい、mboxフォーマットを解析するための正しい方法、多かれ少なかれのように思える - RFC specificationのクイックスキャンから:実装ごとに異なる 区切り線の構造

、通常
正確な文字を含む "From"の後に、
単一スペース文字(0x20)、 電子メールアドレス、別のもの
スペース文字、タイムスタンプシーケンス何らかの種類のと、行末である とを含む。

そして...

多くの実装もoverly-との混同 を防止するように
は、「から」 の文字列で始まるメッセージのボディラインを逃れるために を知られています フルセパレータを検索しないリバラールパーサー 行。一般的には、先頭には より大きいシンボル(0x3E)がこの目的で使用されます( が「>から」になる)。しかし、他の の実装では、 の直前に空白行 がないか、または に電子メールアドレスとタイムスタンプが含まれているように見える場合を除き、 はそのような行をエスケープしないことがわかります。 他の実装も 他は全くこれらのメカニズム を無視しながら、彼らは は既に、エスケープまたは引用されている場合、これらの株に対して二次エスケープ を実行することが知られている あります。

更新: もこのあります:https://github.com/meh/ruby-mbox

+0

アプトの回答、ありがとうございました。 – intellidiot