instance method Net::IMAP#sort

sort(sort_keys, search_keys, charset) -> [Integer][permalink][rdoc]
uid_sort(sort_keys, search_keys, charset) -> [Integer]

SORT コマンド送り、メールボックス内のメッセージをソートした結果を返します。

SORT コマンドは [RFC5256] で定義されています。詳しくはそちらを参照してください。このコマンドは Net::IMAP#capability の返り値を見ることで利用可能かどうか判断できます。

sort_keys にはソート順を決めるキーを文字列の配列で指定します。 "ARRIVAL", "CC", "FROM", "TO", "SUBJECT" などが指定できます。詳しくは [RFC5265] の BASE.6.4.SORT の所を見てください。

search_key には検索条件を渡します。Net::IMAP#search とほぼ同じです。この条件にマッチするメッセージのみがソートされます。

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

返り値は message sequence number の配列を返します。

例:

p imap.sort(["FROM"], ["ALL"], "US-ASCII")
#=> [1, 2, 3, 5, 6, 7, 8, 4, 9]
p imap.sort(["DATE"], ["SUBJECT", "hello"], "US-ASCII")
#=> [6, 7, 8, 1]
[PARAM] sort_key:
ソート順のキー(文字列配列)
[PARAM] search_key:
検索条件(文字列配列)
[PARAM] charset:
検索条件の解釈に用いるCHARSET名(文字列)