Ruby on rails ruby mailman从电子邮件正文中删除标题

Ruby on rails ruby mailman从电子邮件正文中删除标题,ruby-on-rails,ruby-on-rails-3,email,email-headers,mailman-gem,Ruby On Rails,Ruby On Rails 3,Email,Email Headers,Mailman Gem,我试图在我的RoR项目中显示电子邮件正文 class IncomingMail def initialize(message, params) if person = Person.find_by_email(message.from) changeMessage = Message.where({person_id: person.id}) #message = message.subject.force_encoding("UTF-8")

我试图在我的RoR项目中显示电子邮件正文

class IncomingMail
  def initialize(message, params)
    if person = Person.find_by_email(message.from)
      changeMessage = Message.where({person_id: person.id})

      #message = message.subject.force_encoding("UTF-8")

      message = message.body.encoded

      changeMessage.first.text = message
      changeMessage.first.backInMinutes = 0
      changeMessage.first.showText = 1
      changeMessage.first.doNotDisturb = 0
      changeMessage.first.save
    end
  end
但我也会收到邮件头

> --e89a8ff1c0465030f204c082e054 Date: Mon, 21 May 2012 04:45:12 +0200 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1
> Content-Transfer-Encoding: 7bit Content-ID:
> <4fb9ac38c71d2_1e1343dd8042105b@ubuntu.mail> Text of the mail

但身体不行。

我找到了解决办法

更改:

message = message.body.encoded
致:

这会删除所有的标题细节,只给我电子邮件的文本


虽然花了很长时间,但它还是奏效了,我希望它也能帮助其他用户

ActiveMailer自动将主题和正文编码为UTF-8。因此,您不必为此进行任何自定义编码。你能解释一下你从哪里得到的标题吗?电子邮件的标题总是包含from、to、subject字段。我认为……--e89a8ff1c0465030f204c082e054日期:2012年5月21日星期一04:45:12+0200 Mime版本:1.0内容类型:text/plain;charset=ISO-8859-1>内容传输编码:7比特内容ID:>。。。。。。。然后继续邮件的文本。。。。但是我只想要文本,而不是问题仍然存在之前的想法。我想在其他地方显示电子邮件。但不是标题,只有干净的文本。看起来像是
消息。文本部分就足够了。我没有注意到
.decoded
的任何效果。我也没有注意到
.encoded
.decoded
之间有任何区别。
message = message.body.encoded
message = message.text_part.body.decoded