IMAPの操作の流れはおおよそ、ログイン ⇒ メールボックス選択 ⇒ メールに操作 が基本となります
メールの削除をするときには、最初に削除フラグを立ててから物理削除を行います。
# 接続 telnet [hostname] 143 # SSLで接続 openssl s_client -connect [hostname]:993 -crlf # ログイン ? login [ID] [パスワード] # ログアウト ? logout # メールボックス操作 ------------------------------- # 一覧表示 ? list "" "*" # 選択 # ※ 通常INBOXは常にある ? select "メールボックス名" # 作成 # ※ メールボックスを選択していても、していなくても、メールボックス名はフルパスで書くこと。例 INBOX.hoge.fuga # ※ 作成後に購読(subscribe)を行わないとメーラから見えない。 # ※ 日本語名をつける場合、Modified UTF-7でエンコードする。 ? create "メールボックス名" # 購読 ? subscribe "メールボックス名" # 購読停止 ? unsubscribe "メールボックス名" # 状態確認 ? status "メールボックス名" (RECENT UNSEEN MESSAGES) # 消去 ? delete "メールボックス名" # メールボックス選択終了 ? close # メール操作 --------------------------------------- # 一覧 # 検索条件allを条件指定に変更すると、絞り込みが可能。例 ? search (Seen) ? search all # 一覧の別な方法 # ※ 1:* はメール範囲。1:10とすればメール番号1から10が取得される。searchで表示される番号と同一。 ? fetch 1:* status # メール詳細 # ※ ? fetch [メール範囲] rfc822 # フラグ状態確認 ? fetch [メール範囲] flags # フラグ追加 # ※ 指定したフラグが追加されます。 # ※ フラグは 新着:\Recent 既読:\Seen 削除:\Deleted 下書き:\Draft 特別なメッセージ(意味はクライアント依存):\Flaged ? store [メール範囲] +FLAGS([フラグをスペース区切りで列挙]) # フラグ削除 # ※ 指定したフラグが削除されます。 ? store [メール範囲] -FLAGS([フラグの列挙]) # フラグ設定 # ※ 以前のフラグの状態に関係なく、指定したフラグが設定されいます。 ? store [メール範囲] FLAGS([フラグの列挙]) # コピー ? copy [メール範囲] "メールボックス名" # 物理削除(削除フラグをつけられたメールの物理削除) ? expunge # 参考資料 IMAP4(Internet Mail Access Protocol version 4)~後編 コマンド一覧 IMAP4のSEARCH条件の一覧 IMAP4のFETCHオプションの一覧 他