使用 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(如base64quoted-printable)并使用适当的字符集转换(每个正文部分的Content-Type 标头的charset 参数)。所有这些信息都包含在BODYSTRUCTURE 响应中;请查阅您图书馆的文档以了解如何访问它。

【讨论】:

以上是关于使用 ruby​​ 邮件 gem 获取电子邮件正文而不获取附件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ruby​​ 的 net/imap 库读取电子邮件的正文?

分析一个达到 100% CPU 且永不结束的 ruby​​ 应用程序

Ruby:如何从标准输入解析电子邮件 mime

如何使用ruby中的电子表格gem从excel单元格中提取超链接地址?

无法使用 Gmail PHP API 获取电子邮件正文

如何使用 EWS 获取电子邮件正文、收据、发件人和抄送信息?