11

私が理解していることから、正規表現は、特定のドキュメント内の電子メールをスキャンするときに使用するのに最適なものではありません. これに代わるものがあるかどうか疑問に思っていますか?または、私が知らないベストプラクティスの方法はありますか?

4

1 に答える 1

16

ジョブを解析する場合は、常にライブラリに依存することをお勧めします。そうです、図書館は、さまざまなケースなどを考慮して、正規表現よりも詳細に問題を常に処理してきます。

メールを解析するためのRubyライブラリの1つはMailです。

MailはRuby用のインターネットライブラリであり、電子メールの生成、解析、および送信をシンプルでルビエスクな方法で処理するように設計されています。

[...]メールは、解析している電子メールメッセージを実際に開く非常に単純なオブジェクト指向システムで設計されています。何をしているのかがわかっている場合は、電子メールの最後の部分を直接いじることができます。

メールのコンテンツにアクセスする方法の例を次に示します。

mail = Mail.read('/path/to/message.eml')

mail.envelope.from   #=> 'mikel@test.lindsaar.net'
mail.from.addresses  #=> ['mikel@test.lindsaar.net', 'ada@test.lindsaar.net']
mail.sender.address  #=> 'mikel@test.lindsaar.net'
mail.to              #=> 'bob@test.lindsaar.net'
mail.cc              #=> 'sam@test.lindsaar.net'
mail.subject         #=> "This is the subject"
mail.date.to_s       #=> '21 Nov 1997 09:55:06 -0600'
mail.message_id      #=> '<4D6AA7EB.6490534@xxx.xxx>'
mail.body.decoded    #=> 'This is the body of the email...

また、マルチパートメールを解析したり、添付ファイルをテストして抽出したりすることもできます。

于 2013-01-12T02:25:55.677 に答える