Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > net/imapライブラリ > 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]