Ruby on rails ruby mailman从电子邮件正文中删除标题
我试图在我的RoR项目中显示电子邮件正文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")
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