这是我用来获取电子邮件并将它们存储到我的数据库中的代码:
emails = imap.search([fp.filter_type, "#{fp.value}"])
emails.each do |message_id|
msg = imap.fetch(message_id,'RFC822')[0].attr['RFC822']
mail = Mail.read_from_string msg
Email.create({
:user_id => self.id,
:message_id => message_id.to_s,
:email_from => mail.from[0],
:subject => mail.subject,
:content => mail.multipart? ? mail.html_part : mail.body.decoded,
:sent_at => mail.date
}) if !Email.find_by_message_id(message_id.to_s)
end
当我呈现电子邮件记录的内容时,它没有正确显示。但是,这封电子邮件在我的 GMail 帐户上看起来很棒。我需要一种方法来存储正确的 HTML 并像在我的电子邮件帐户中一样显示它。我还需要从这些电子邮件中解析数据,这很困难,因为 DOM 结构变得非常混乱。