2

次のスクリプトは、実際に送信されたメッセージの数が 3000 以上の場合に、送信済みフォルダーから 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}'"
4

2 に答える 2

5

解決策があります

Gmail 内の[設定] > [Labs]に移動し、高度な IMAP コントロールを有効にします ここに画像の説明を入力

[設定] > [転送と POP/IMAP]でフォルダー サイズの制限を変更できるようになりました。

高度な IMAP コントロールが有効: 有効

高度な IMAP コントロールが無効 (デフォルト) : 無効

于 2011-03-19T21:32:11.437 に答える
3

答えは、あなたができることは何もないということです。それはあなたのスクリプトやNet::IMAPとは何の関係もありません。GoogleはIMAPを介してどのフォルダにも1000通を超えるメールを提供しておらず、これについてオンラインで多くの苦情があります(IE http://www.google.com/support/forum/p/gmail/thread?tid=2636f734144eeb28&hl=en)。

于 2011-03-18T21:19:00.633 に答える