我正在尝试使用邮件宝石读取我的gmail收件箱。我可以使用Mail.last
获取消息数组。
现在我想阅读这条消息。文件上写着——
ail = 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...
现在,问题仍然存在——什么是/path/to/message/eml
?如何创建/定位此EML文件?
谢谢。
Mail=Mail.read('/path/to/message.eml')
/path/to/message.eml是您的电子邮件存储在项目中的路径。您还可以将其存储在数据库的表中,并像这样调用int函数:field.name='/path/to/message.eml'mail=mail.read_from_string(field.name)然后你就可以解析它了。
我没有使用过这个gem,但查看README,应该是Mail.last返回了Mail的一个实例。
你说Mail.lasts有效,也就是说,根据你的设置,它会从gmail中检索电子邮件https://github.com/mikel/mail#getting-来自流行服务器的电子邮件
当你这样做时会发生什么:
mail = Mail.last
mail.body.decoded
至少可以说,我知道现在回答有点晚了。。但是嘿,如果有人能够使用它:
一旦你对邮件进行了迭代,你就可以使用这样的东西了。
mails = Mail.all
mails.each do |current_mail|
mail_object = Mail.read_from_string(current_mail)
puts mail_object.to # Outputs the To address
end
我还建议查看此处的完整文档:http://www.rubydoc.info/github/mikel/mail/Mail
干杯:)