在Ruby Net :: IMAP中选择邮箱“发送邮件”或“所有邮件”

前端之家收集整理的这篇文章主要介绍了在Ruby Net :: IMAP中选择邮箱“发送邮件”或“所有邮件”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在 Ruby中使用Net :: IMAP来搜索我发送的所有邮件,但是我无法选择INBox以外的任何东西.
imap.select('INBox')

工作正常,但

imap.select('Mail/sent-mail')

如Net :: IMAP文档中所示,给我“未知的邮箱”.

顺便说一句,这是用于gmail.

我也尝试在我的imap.search()中添加“in”,“anywhere”,但没有解析.

当前代码

imap.select('INBox')
now = Time.now.localtime - 1209600 #two weeks
since = now.day.to_s() + "-" + Date::MONTHNAMES[now.month] + "-" + now.year.to_s()
puts "since"
puts since
begin
  mail_ids = imap.search(["FROM","me","SINCE",since])
  mail_ids.each do |id|
    text = imap.fetch(id,'BODY[HEADER.FIELDS (SUBJECT)]').to_s.split("{").second.chop
    puts text
  end
end

解决方法

“发送的邮件文件夹将不同于提供商. Gmail的“已发邮件文件夹命名为“[Gmail] /已发邮件”.选择它,它将工作.
imap.select('[Gmail]/Sent Mail')

FYI,Gmail的系统文件夹如下:

> INBox> [Gmail] /所有邮件> [Gmail] /草稿> [Gmail] /已发邮件> [Gmail] /垃圾邮件> [Gmail] /已加星标> [Gmail] /垃圾

原文链接:https://www.f2er.com/ruby/272895.html

猜你在找的Ruby相关文章