据我了解,在给定文档中扫描电子邮件时,Regex 并不是最好的选择。我想知道是否有任何替代方案?或者一些我不知道的最佳实践方式?
问问题
6225 次
1 回答
16
对于解析作业,依赖库总是一个好主意。你是对的,一个库总是比正则表达式更详细地处理这个问题,考虑不同的情况等等。
Mail是一个用于解析电子邮件的 Ruby 库:
Mail 是一个用于 Ruby 的 Internet 库,旨在以简单的 rubyesque 方式处理电子邮件的生成、解析和发送。
[...] Mail 设计有一个非常简单的面向对象系统,它真正打开了您正在解析的电子邮件消息,如果您知道自己在做什么,您可以直接摆弄电子邮件的最后一点。
以下是如何访问电子邮件内容的示例:
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 回答