2011-07-16 11 views
5

を使用してメッセージをアーカイブする方法を、私はIMAP経由して受信トレイにユーザーのメールを読むことができます:次のRubyコードでルビー `ネット/ imap`

require 'net/imap' 
imap = Net::IMAP.new('imap.gmail.com',993,true) 
imap.login('user','passwd') 
imap.select('INBOX') 
mailIds = imap.search(['ALL']) 
mailIds.each do |id| 
    msg = imap.fetch(id,'RFC822')[0].attr['RFC822'] 
    puts msg 
end 
imap.logout() 
imap.disconnect() 

私はアーカイブとマークすることができます方法を知りたいです電子メールを読む。私は、ユーザーの受信トレイから電子メールを移動したいと思います。

答えて

5

使用store method

require 'net/imap' 
imap = Net::IMAP.new('imap.gmail.com', 993, true) 
imap.login('user', 'passwd') 
imap.select('INBOX') 
mailIds = imap.search(['ALL']) 
mailIds.each do |id| 
    msg = imap.fetch(id, 'RFC822')[0].attr['RFC822'] 
    puts msg 
    imap.store(id, "+FLAGS", [:Seen]) 
end 
imap.logout() 
imap.disconnect() 
+1

これは、Gmailのボックスに動作していないよう:READ-ONLYフォルダ(失敗) – artagnon

+0

上STOREの試みは明示的にフォルダを選択していますか?そこにフォルダの選択を追加するまで私はうまくいかなかった(imap.select 'INBOX') – JakubM

関連する問題