0

给定任务:将电子邮件逐字节存储在数据库中的一个或多个块(固定长度)中。该邮件将从该数据库中检索,其内容应显示给用户。

我可以将遗留数据库包装在 ActiveRecord 模型中,连接存储的块等等。我真的不知道从哪里开始 MIME 解析部分。我想到了可能有一个专用的 EMail 类,我可以使用存储在数据库中的数据进行初始化,并且该类将允许我查看邮件包含哪些 MIME 部分并允许我显示,例如,text/*它的部分。

现在看来 ActionMailer 能够解析传入的邮件,但接收邮件的文档似乎相当,呃,“稀疏”,它只是提到从 STDIN 接收邮件。

我如何在 Rails 中解析和显示 MIME 邮件(或其中的一部分),因为我可以将其内容作为单个字符串、变量、查询结果或类似的东西提供?

4

3 回答 3

0

“has_attachment* s *?” (复数)是方法的正确名称

于 2010-11-30T18:18:28.530 回答
0

看看MMS2R

我最近一直在使用它来解析电子邮件,它做得非常好。

于 2009-09-16T14:27:15.440 回答
0

我做错了。Rails 带有TMail 库,它可以完美地解析 MIME 电子邮件。基本的工作流程就像连接来自一个存储消息的块并将它们传递给TMail::Mail.parse这样简单:

email = TMail::Mail.parse(StoredMessage.find(:all,
  :conditions => ["mail_id = ?", "oyByGqacG73b"],
  :order => "chunk_ind").collect(&:mail_text).join)

email.body #=> this is your test body
email.subject # => test subject
email.has_attachment? #=> true
email.attachments.first.original_filename # => bulkfile

我真的很抱歉错过了 Rails 中的整个库。

于 2009-09-16T15:56:42.763 回答