2009-09-16 76 views
0

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

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

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

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

回答

0

看看MMS2R

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

0

我做错了。 Rails附带TMail library,它完全能够解析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整个图书馆道歉。

+0

“has_attachment * s *?” (复数)是方法的正确名称 – 2016-11-18 17:32:57

0

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

+1

这实在是一个评论,而不是问题的答案。你可以随时评论你自己的帖子,一旦你有足够的[声誉](http://stackoverflow.com/faq#reputation),你将能够[评论任何帖子](http://stackoverflow.com/特权/评论)。 – 2012-08-18 05:57:30

+0

谢谢。完成了。 – 2016-11-18 17:33:35

相关问题