使用 ruby 邮件 gem 获取电子邮件正文而不获取附件
Posted
技术标签:
【中文标题】使用 ruby 邮件 gem 获取电子邮件正文而不获取附件【英文标题】:Getting email body without fetching attachments using ruby mail gem 【发布时间】:2013-06-08 21:32:41 【问题描述】:我正在尝试使用 IMAP 和 ruby 邮件 gem 获取 gmail 的正文。当我按照another stack overflow answer. 中的描述获取 RFC822 字段时,它可以完美运行。 Fiedl 很好地描述了answer 类似问题的方法。
这种方法很好,只是它需要获取 RFC822,它还获取所有附件。是否有任何其他字段或其他方法可以不获取附件但仍使用 ruby 邮件 gem 来获取解码良好的正文?
【问题讨论】:
这能满足您在 php 中的需要吗? ***.com/questions/15024290/… @crizCraig,这似乎可以获取正文(虽然不确定 php 的 fetch_body 方法),但它不适用于多部分电子邮件。 这个(蟒蛇)***.com/questions/15597429/… @jimt,我已经尝试过 BODY[1],它不适用于所有类型的消息。 【参考方案1】:您必须解析并理解返回的BODYSTRUCTURE
响应的实际结构,请参阅RFC 3501, p. 56。还要记住应用相关的Content-Transfer-Encoding
(如base64
或quoted-printable
)并使用适当的字符集转换(每个正文部分的Content-Type
标头的charset
参数)。所有这些信息都包含在BODYSTRUCTURE
响应中;请查阅您图书馆的文档以了解如何访问它。
【讨论】:
以上是关于使用 ruby 邮件 gem 获取电子邮件正文而不获取附件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ruby 的 net/imap 库读取电子邮件的正文?
分析一个达到 100% CPU 且永不结束的 ruby 应用程序