instance method Net::IMAP#store

store(set, attr, flags) -> [Net::IMAP::FetchData] | nil[permalink][rdoc][edit]

STORE コマンドを送り、メールボックス内のメッセージを更新します。

set で更新するメッセージを指定します。これには sequence number、sequence number の配列、もしくは Range オブジェクトを渡します。

Net::IMAP#select で指定したメールボックスを対象とします。

attr で何をどのように変化させるかを指定します。以下を指定することができます。

  • "FLAGS"
  • "+FLAGS"
  • "-FLAGS"

それぞれメッセージのフラグの置き換え、追加、削除を意味します。詳しくは [RFC2060] の 6.4.6 を参考にしてください。

flags には シンボルの配列で置き換え、追加もしくは削除されるフラグを指定します。

返り値は更新された内容を Net::IMAP::FetchData オブジェクトの配列で返します。

例:

p imap.store(6..8, "+FLAGS", [:Deleted])
#=> [#<Net::IMAP::FetchData seqno=6, attr={"FLAGS"=>[:Seen, :Deleted]}>, #<Net::IMAP::FetchData seqno=7, attr={"FLAGS"=>[:Seen, :Deleted]}>, #<Net::IMAP::FetchData seqno=8, attr={"FLAGS"=>[:Seen, :Deleted]}>]
[PARAM] set:
更新するメッセージのsequence number
[PARAM] attr:
更新方式(文字列)
[PARAM] flags:
更新内容(Symbol の配列)

[SEE_ALSO] Net::IMAP#uid_store, Net::IMAP#fetch