Использование Ruby/Rails для анализа только части HTML входящей электронной почты (не части текста)
Я пишу сценарий Ruby/Rails, который хочу проанализировать входящую электронную почту, которая пересылается на определенный адрес электронной почты. Я хочу в первую очередь проанализировать тело письма в HTML. Я выяснил, как взять субъект и атрибут body объекта Mail и преобразовать атрибут body в строку, однако он включает в себя текст заголовка и некоторые странные коды электронной почты / жаргон (см. Ниже). Я хочу проанализировать только основную часть тела сообщения электронной почты (не текстовую часть). Есть ли способ проанализировать только HTML-часть письма? Кроме того, есть ли способ исключить текст заголовка и жаргон кода? Я вызываю мой метод обработчика электронной почты из действия контроллера, и код для моего обработчика электронной почты и вывода основного текста электронной почты приведен ниже:
Код обработчика электронной почты
class ParseEmail < ActionMailer::Base
def receive(email)
@note = Note.new
@note.name = email.subject
@note.body = email.body.to_s
@note.save
Rails.logger.debug "Number of email parts: #{email.parts.length}"
Rails.logger.debug "Last content parts section: #{mail.parts.last.content_type.content_type}"
end
Тело электронной почты после того, как я преобразовал его в строку:
--001a1143fa4c921c130523f897ec
Content-Type: text/plain; charset=UTF-8
This is a test message.
--
Best,
Michael
--001a1143fa4c921c130523f897ec
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
This is a test message.
--
Best,
Michael
--001a1143fa4c921c130523f897ec--