我是Ruby / Rails的新手,一直在关注Net :: IMAP。我想要做的是连接到我的IMAP帐户并迭代我的所有IMAP文件夹。如果我使用我的ISP的webmail客户端,我发现我的所有文件夹都存在于名为“INBOX”的单个邮箱下。
imap = Net::IMAP.new(@server_name, @server_port)
imap.login(@username, @password)
imap.select("INBOX")
# obtain a list of mailboxes contained within INBOX
all_folders = imap.list('', 'INBOX/%')
# all_folders is always set to nil
我尝试了对Net :: IMAP#list方法的参数的各种排列。我做错了什么?
TIA
答案 0 :(得分:2)
这应该可行,您可以尝试使用*而不是%。
% is a wildcard for everything besides hierarchical characters.
* also includes hierarchical characters.
You should get back an array of IMAP::MailboxList
您也可以尝试:
imap.list('*', '*') to see a list of folders.
您提供的代码应该可以使用,但不同的邮件提供商有不同的实现,因此知道您正在使用哪一个,可能有助于解决这个问题。
答案 1 :(得分:0)
对于Net :: IMAP版本2.0.3,正确的方法是:
imap.list('%', '%')