Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Imap文件夹仅返回电子邮件的子集_Ruby_Imap_Gmail Imap - Fatal编程技术网

Ruby Imap文件夹仅返回电子邮件的子集

Ruby Imap文件夹仅返回电子邮件的子集,ruby,imap,gmail-imap,Ruby,Imap,Gmail Imap,当实际发送的邮件数为3000时,以下脚本仅从sent文件夹返回1000封邮件+ 我怎样才能得到其余的信息 username = ask("Enter your username: ") { |q| q.echo = true } password = ask("Enter your password: ") { |q| q.echo = "*" } look_in_folder = "[Gmail]/Sent Mail" save_to_folder = "/Users/penang/Des

当实际发送的邮件数为3000时,以下脚本仅从sent文件夹返回1000封邮件+

我怎样才能得到其余的信息

username = ask("Enter your username:  ") { |q| q.echo = true }
password = ask("Enter your password:  ") { |q| q.echo = "*" }
look_in_folder = "[Gmail]/Sent Mail"
save_to_folder = "/Users/penang/Desktop"

puts 'Starting...'
imap = Net::IMAP.new('imap.gmail.com', '993', true)

puts "Logging in as #{username} ..."

imap.login(username, password)

imap.examine(look_in_folder)

mails = imap.uid_search(["FROM", "me"])
puts "Found #{mails.count} mail(s) in folder '#{look_in_folder}'"

答案是您无能为力,它与您的脚本或Net::IMAP无关。谷歌不会通过IMAP向你发送超过1000封任何文件夹的邮件,对此在线(IE)有很多抱怨。

有一个解决方案

进入Gmail中的设置>实验室并启用高级IMAP控件

您现在应该可以在设置>转发和POP/IMAP中更改文件夹大小限制

高级IMAP控件已启用

高级IMAP控件已禁用(默认):

是否有其他协议可供您访问其余部分?不确定,您可以试试POP。我认为谷歌这样做是有目的的,因为从他们那里获取大量IMAP邮件的人并不能真正为他们赚取任何广告收入。