Путь message.eml для почтового гем ruby на рельсах
Я пытаюсь прочитать мой почтовый ящик с помощью почтового ящика. Я могу получить массив сообщений с помощью 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?
Благодарю.
3 ответа
Почта = Mail.read('/path/to/message.eml')
/path/to/message.eml — это путь, по которому ваша электронная почта хранится в вашем проекте. Также вы можете сохранить его в таблице своей базы данных и вызвать его int-функциями следующим образом: field.name = '/path/to/message.eml' mail = Mail.read_from_string(field.name) Тогда вы сможете его проанализировать .
Я не использовал этот драгоценный камень, но, глядя на README, должно быть, что Mail.last возвращает экземпляр Mail.
Вы говорите, что Mail.lasts работает, то есть он получает почту из gmail с учетом ваших настроек https://github.com/mikel/mail
Что происходит, когда вы делаете:
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
Ура:)