본문 바로가기

James Server v3/IMAP

IMAP console command

IMAP COMMOND 정리

 

1. 접속
telnet XXX.XXX.XXX.XXX 143

2. 로그인
확인할 사용자 확인
a LOGIN [사용자] 0000

3. 박스 선택하기
a SELECT INBOX

4. 리스트 보기
a FETCH 0:[최대UID|*] (UID RFC822.SIZE FLAGS BODY[HEADER.FIELDS (FROM TO SUBJECT DATE MESSAGE-ID)])

5. 메시지 가져오기
a UID FETCH [해당 UID] BODY.PEEK[]


유용한 COMMAND
1. 전체 메시지의 X-MMS-MESSAGE-ID 출력
a fetch 0:* (BODY[HEADER.FIELDS (X-MMS-MESSAGE-ID)])

2. 특정 X-MMS-MESSAGE-ID를 가진 UID 검색
a search HEADER "X-MMS-MESSAGE-ID" "검색하려고 하는값"

3. 메일 삭제
a store [UID] +flags (\deleted)
a expunge

4. 첨부 컨텐츠만 확인
a fetch [UID] rfc822.text

5. 메일의 모든 헤더값 출력
a fetch [UID] BODY[HEADER]


1. SELECT Command

A. 설명 

메일 박스를 선택 한다. ( <-> CLOSE )

B. 사용예

A1 SELECT INBOX

<-> A1 CLOSE



2. EXAMINE Command

A. 설명

SELECT 명령과 같다. 그러나 the selected mailbox is identified as read-only. 

B. 사용예

A1 EXAMINE INBOX



3. CREATE Command

A. 설명

메일 박스를 생성 한다.

B. 사용예

A1 CREATE OUTBOX1



4. DELETE Command

A. 설명

메일 박스를 삭제 한다.

B. 사용예

A1 DELETE OUTBOX1



5. RENAME Command

A. 설명

메일박스의 이름을 변경한다.

B. 사용예

A1 RENAME OUTBOX1 OUTBOX3



6. SUBSCRIBE Command

A. 설명

LSUB Command에 의해 리턴되는 메일박스의 서버측 세팅인 ACTIVE, SUBSCRIBED 명시된 메일박스의 이름을 이 명령으로 추가 한다. (등록)

B. 사용예

A1 SUBSCRIBE OUTBOX1



7. UNSUBSCRIBE Command 

A. 설명

SUBSCRIBE의 반대 작업 (등록해제).

B. 사용예

A1 UNSUBSCRIBE OUTBOX1



8. LIST Command

A. 설명

리스팅 기능.

B. 사용예

A1 LIST "" *





9. LSUB Command

A. 설명

LIST와 기능이 비슷함

B. 사용예

a1 lsub "#news." "comp.mail.*"

a1 OK LSUB completed



10. STATUS Command

A. 설명

메일박스의 상태 정보를 리턴 함.

Parameter 

MESSAGES : 메일박스에 메세지의 수를 리턴 

RECENT : 최근에 등록된 메시지의 수 리턴

UIDNEXT : 새로운 메시지에 부여될 UID의 번호 리턴 

UIDVALIDITY : 메일박스에서 unique identifier validity value 리턴 

UNSEEN : The number of messages which do not have the \Seen flag set.



B. 사용예

A1 STATUS INBOX (MESSAGES)

A1 STATUS INBOX (MESSAGES UIDNEXT UIDVALIDITY)



11. APPEND Command

A. 설명

명시된 메일박스의 끝에 새로운 메시지를 추가 할 수 있는 명령이다.

B. 사용예

A003 APPEND outbox1 (\Seen) {310}

Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)

From: Fred Foobar 

Subject: afternoon meeting

To: sjjung@mdminc.net

Message-Id: 

MIME-Version: 1.0

Content-Type: TEXT/PLAIN; CHARSET=US-ASCII

C:

Hello Joe, do you think we can meet at 3:30 tomorrow?

C:

C:

C:

S: A003 OK APPEND completed



12. CHECK Command

A. 설명

현재 선택된 메일박스의 체크포인트를 요구 한다.

B. 사용예

a1 check

a1 OK CHECK completed



13. CLOSE Command

A. 설명 (좀더 읽어 봐야 함) 

현재 선택된 메일박스의 close, 메시지중 \Deleted flag 로 세팅 되어 있는 것들은 영구적으로 삭제 해버린다 .

B. 사용예

a1 close



14. EXPUNGE Command

A. 설명 

현재 선택된 메일박스의 메시지중 \Deleted flag 로 세팅 되어 있는 것들은 영구적으로 삭제 해버린다.

B. 사용예

a1 expunge



15. SEARCH Command

A. 설명 (argument가 많음 다시 읽어 보기) 

메일박스에서 given searching criteria 를 찾는다.

Searching criteria consist of one or more search keys.

B. 사용예

A282 SEARCH FLAGGED SINCE 1-Feb-1994 NOT FROM "Smith"



16. FETCH Command

A. 설명 

fetch 명령은 메일박스안의 메시지에 첨부된 데이터를 가져온다.

Fetch되 data는 single atom 또는 parenthesized list 로 할 수 있다.

사용해본 결과 아래와 같이도 됨

* 7 FETCH (FLAGS (\Seen) BODY[HEADER.FIELDS ("DATE" "FROM" "SUBJECT")] {118}

Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)

From: Fred Foobar 

Subject: afternoon meeting

B. 사용예

A654 FETCH 2:4 (FLAGS BODY[HEADER.FIELDS (DATE FROM)])

A654 FETCH 1:7 (FLAGS BODY[HEADER.FIELDS (DATE FROM)])

A654 FETCH 1:7 (FLAGS BODY[HEADER.FIELDS (DATE FROM SUBJECT)])



17. STORE Command

A. 설명

메일박스안의 메시지에 첨부된 데이터를 바꾼다.

STORE가 플래그의 설정을 할 수 있음

B. 사용예

A003 STORE 2:4 +FLAGS (\Deleted)



18. COPY Command

A. 설명

명시된 목적지 메일박스의 끝에 명시된 메시지를 복사 할 수 있다.

Flag 및 internal date는 복사본 에서도 유지 된다. 

B. 사용예

A003 COPY 2:4 inbox



19. UID Command

A. 설명

UID는 두개의 폼을 가지고 있다.

첫번째

복합 명령을 위해 적당한 argument를 copy, fetch, store 명령과 함께 쓸수 있다. 그러나 message set argument 의 수는 message sequence numbers 대신에 유일하게 인식 한다.

두번째

search 폼과 같이 쓸 수 있다. Argument의 해석은 SEARCH 명령과 같다. 그러나 UID SEARCH command를 위해 SEARCH 응답안데 돌려 보내는 수는 message sequence numbers 대신에 유일하게 인식 한다 .

For example, the command UID SEARCH

1:100 UID 443:557 returns the unique identifiers corresponding to

the intersection of the message sequence number set 1:100 and the

UID set 443:557.

B. 사용예

A999 UID FETCH 2:6 FLAGS

* 1 FETCH (UID 4 FLAGS (\Seen))

A999 OK UID FETCH completed