ruby - 将 Net::IMAP 电子邮件写入 mikel/mail 电子邮件

标签 ruby

我在将使用 Net::IMAP 库获取的电子邮件传递给使用 mikel/mail gem 定义的 Mail 对象时遇到问题。

我收到邮件:

data = imap.uid_fetch(1, "BODY[]")

但是我以后应该如何将它放入 Mail.read 约定中呢?

mail = Mail.read(data.to_s)

似乎得到 Errno::ENAMETOOLONG: File name too long。它将邮件正文理解为文件名。

有什么想法吗?

最佳答案

Mail.read 需要一个文件名。使用 Mail.new 从电子邮件源初始化一个 Mail 对象。

此外,获取 RFC822,而不是 BODY[]

mail = Mail.new(imap.uid_fetch(1, "RFC822")[0].attr["RFC822"])

关于ruby - 将 Net::IMAP 电子邮件写入 mikel/mail 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5904110/

相关文章:

ruby - 在 Ruby 的 if 语句中检查 bash 命令

c - Ruby 全局解释器锁 (GIL) - rb_thread_call_without_gvl

ruby-on-rails - 从 Ruby/Rails 调用 Lisp?

javascript - 使用 jquery 添加嵌入式 ruby​​ 助手

ruby-on-rails - Rails - 如何将对象添加到变量

mysql - 如何在没有 mysql 服务器的情况下安装 mysql gem?

ruby - 在什么情况下Linux epoll_wait会返回epoll_events结构体并带有空的events字段?

ruby - 使用两个递归理解递归概念

ruby - 对数组使用散列选择

ruby - Ruby 数学运算的精度问题