IMAPコマンド
IMAPコマンド
前回構築したdovecotでIMAPコマンドを確認します。 http://keikmobile.hatenablog.com/entry/2014/05/12/テスト用dovecot_インストール
Any State Commands
以下のコマンドは、いずれの状態でも有効なコマンドです。
CAPABILITY
- サーバがサポートする機能一覧を表示する。
- 引数なし。
a001 CAPABILITY * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN a001 OK Capability completed.
NOOP
- 何もしない。サーバのauto logoutタイマーはリセットされます。
- 引数なし。
a001 NOOP a001 OK NOOP completed.
LOGOUT
- ログアウトする。
- 引数なし。
a001 LOGOUT * BYE Logging out a001 OK Logout completed.
Not Authenticated State Commands
以下のコマンドは認証されていない状態で有効なコマンドです。
STARTTLS
- 暗号通信への切り替えを要求する。
- 引数なし
a001 STARTTLS a001 OK Begin TLS negotiation now.
AUTHENTICATE
- 指定した認証方法でログインする。
- 引数: 認証方式名
LOGIN
- ログインする。
- 引数: ユーザ名 パスワード
a login user password a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in
Authenticated State Commands
以下のコマンドは認証されている状態で有効なコマンドです。
SELECT
a OK Expunge completed. a001 SELECT INBOX * OK [CLOSED] Previous mailbox closed. * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted. * 0 EXISTS * 0 RECENT * OK [UIDVALIDITY 1399824069] UIDs valid * OK [UIDNEXT 1] Predicted next UID * OK [HIGHESTMODSEQ 1] Highest a001 OK [READ-WRITE] Select completed.
EXAMINE
a001 EXAMINE INBOX * OK [CLOSED] Previous mailbox closed. * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * OK [PERMANENTFLAGS ()] Read-only mailbox. * 0 EXISTS * 0 RECENT * OK [UIDVALIDITY 1399824069] UIDs valid * OK [UIDNEXT 1] Predicted next UID * OK [HIGHESTMODSEQ 1] Highest a001 OK [READ-ONLY] Select completed.
CREATE
a001 CREATE NEW_FOLDER a001 OK Create completed.
DELETE
a001 DELETE NEW_FOLDER a001 OK Delete completed.
RENAME
a001 RENAME FOLDER NEW_FOLDER a001 OK Rename completed.
SUBSCRIBE
a001 SUBSCRIBE FOLDER a001 OK Subscribe completed.
UNSUBSCRIBE
a001 UNSUBSCRIBE FOLDER a001 OK Unsubscribe completed.
LIST
a001 LIST "" "*" * LIST (\HasNoChildren) "." "NEW_FOLDER" * LIST (\HasNoChildren) "." "FOLDER" * LIST (\HasNoChildren) "." "INBOX" a001 OK List completed.
LSUB
a001 LSUB "" "*" * LSUB () "." "FOLDER" a001 OK Lsub completed.
STATUS
a001 STATUS INBOX (MESSAGES) * STATUS "INBOX" (MESSAGES 0) a001 OK Status completed.
APPEND
a001 APPEND INBOX {10} + OK TEST TEST a001 OK [APPENDUID 1399824069 3] Append completed.
Selected State Commands
以下のコマンドはメールボックスが選択されている状態で有効なコマンドです。
CHECK
- 選択中のメールボックスのチェックポイントを要求する。
- 引数なし
a001 CHECK a001 OK Check completed.
CLOSE
- 選択中のメールボックスを閉じる。
- 引数なし
a001 CLOSE a001 OK Close completed.
EXPUNGE
- Deletedフラグがセットされているメッセージ全てを削除する。
- 引数なし
a001 STORE 1 +FLAGS (\Deleted) * 1 FETCH (FLAGS (\Deleted)) a001 OK Store completed. a001 EXPUNGE * 1 EXPUNGE a001 OK Expunge completed.
SEARCH
- 引数の条件にマッチしたメッセージのシーケンス番号を表示する。
- 引数: [キャラクタセット] 検索条件
- 検索条件:
- ALL: メールボックスの全てのメッセージ
- ANSWERED: Answeredフラグがセットされているメッセージ
- BCC
: エンベロープBCCに を含むメッセージ - BEFORE
: よりも前の内部日付のメッセージ - BODY
: メッセージ本文に を含むメッセージ - CC
: エンベロープCCに を含むメッセージ - DELETED: Deletedフラグがセットされているメッセージ
- DRAFT: Draftプラグがセットされているメッセージ
- FLAGGED: Flaggedフラグがセットされているメッセージ
- FROM
: エンベロープFROMに を含むメッセージ - HEADER: <field-name>
: <field-name>ヘッダーに を含むメッセージ - KEYWORD
: フラグがセットされているメッセージ - LARGER
: メッセージサイズが より大きいメッセージ - NEW: Recnetフラグがセットされておりかつ、Seenフラグがセットされていないメッセージ
- NOT <search-key>: <search-key>にマッチしないメッセージ
- OLD: Recnetフラグがセットされていないメッセージ
- ON:
の内部日付のメッセージ - OR <search-key1> <search-key2>: <search-key1>かつ<search-key2>にマッチするメッセージ
- RECENT: Recnetフラグがセットされているメッセージ
- SEEN: Seenフラグがセットされているメッセージ
- SENTBEFORE
: よりも前のDateヘッダーのメッセージ - SENTON
: のDateヘッダーのメッセージ - SENTSINCE
: よりも後のDateヘッダーのメッセージ - SINCE
: よりも後の内部日付のメッセージ - SMALLER
: メッセージサイズが より小さいメッセージ - SUBJECT
: エンベロープSUBJECTに を含むメッセージ - TEXT
: ヘッダー又はメッセージ本文に を含むメッセージ - TO
: エンベロープTOに を含むメッセージ - UID
: で指定されたUIDのメッセージ - UNANSWERED: Answeredフラグがセットされていないメッセージ
- UNDELETED: Deletedフラグがセットされていないメッセージ
- UNDRAFT: Draftフラグがセットされていないメッセージ
- UNFLAGGED: Flaggedフラグがセットされていないメッセージ
- UNKEYWORD
: フラグがセットされていないメッセージ - UNSEEN: Seenフラグがセットされていないメッセージ
a001 SEARCH ALL * SEARCH 1 2 3 4 5 a001 OK Search completed (0.000 secs).
FETCH
- 指定したメッセージ情報を取得する。
- 引数: シーケンス番号 データアイテム名
- データアイテム名:
- ALL: (FLAGS INTERNALDATE RFC822.SIZE ENVELOPE)と同じ。
- FAST: (FLAGS INTERNALDATE RFC822.SIZE)と同じ。
- FULL: (FLAGS INTERNALDATE RFC822.SIZE ENVELOPE BODY)と同じ。
- BODY
- BODY.PEEK
- BODYSTRUCTURE
- ENVELOPE
- FLAGS
- INTERNALDATE
- RFC822
- RFC822.HEADER
- RFC822.SIZE
- RFC822.TEXT
- UID
a001 fetch 1 RFC822 * 1 FETCH (FLAGS (\Seen) RFC822 {9} TEST TEST) a001 OK Fetch completed.
STORE
- メッセージのフラグを変更する。
- 引数: シーケンス番号 フラグ状態 フラグ名
- フラグ状態
- FLAGS
: でフラグを置き換える。 - FLAGS.SILENT
: でフラグを置き換える。表示はしない。 - +FLAGS
: のフラグを追加する。 - +FLAGS.SILENT
: のフラグを追加する。表示はしない。 - -FLAGS
: のフラグを削除する。 - -FLAGS.SILENT
: のフラグを削除する。表示はしない。
- FLAGS
COPY
a001 COPY 1 INBOX * 6 EXISTS * 1 RECENT a001 OK [COPYUID 1399824069 3 8] Copy completed.
UID
- COPY、FETCH、STOREコマンドをUIDを指定で実行する。
- 引数: コマンド コマンド引数(UID)
a001 UID FETCH 3 RFC822 * 1 FETCH (UID 3 RFC822 {9} TEST TEST) a001 OK Fetch completed.