我将使用Net::IMAP
库提取的电子邮件传递到使用Mail
gem定义的mikel/mail
对象时遇到问题。
我收到邮件:
data = imap.uid_fetch(1, "BODY[]")
但是我应该如何将它放入Mail.read约定?
mail = Mail.read(data.to_s)
似乎得到Errno::ENAMETOOLONG: File name too long
。它将邮件正文理解为文件名。
有什么想法吗?
答案 0 :(得分:8)
Mail.read
想要一个文件名。使用Mail.new
初始化电子邮件来源中的Mail
对象。
此外,请抓取RFC822
,而不是BODY[]
。
mail = Mail.new(imap.uid_fetch(1, "RFC822")[0].attr["RFC822"])