2014-02-21 3 views
1

Nodejs를 사용하여 전자 메일 클라이언트에 대한 IMAP IDLE 연결을 설정하고 있습니다. 연결을 설정할 때 IMAP 프로토콜 버전을 감지 할 수 있습니까?IMAP 프로토콜 버전을 감지 할 수 있습니까?

+0

클라이언트는 누구이며 서버는 누구입니까? Node.js의 역할은 무엇입니까? –

+0

나는 자신의 클라이언트 프로그램을 가지고있다. Node.js는 내 클라이언트 프로그램과 IMAP 서버 사이의 중간입니다. 여기에 Gmail IMAP 연결을 사용하겠습니다. Gmail은 항상 특정 메일이 아닙니다. 모든 메일 서버 일 수 있습니다. 그래서 Nodejs를 통해 특정 메일 서버에 연결할 때, 나는 연결된 IMAP 서버 프로토콜 버전을 원합니다. – Pyare

답변

7

오늘 모든 IMAP 서버는 동일한 버전 인 4rev1을 실행합니다. 버전 1, 2, 3 및 4는 오래 전에 사라졌습니다.

또한 모든 서버는 현재 하나 이상의 확장을 지원합니다. CAPABILITY 명령은 확장 목록을 리턴합니다. Gmail의 경우 :

openssl s_client -connect imap.gmail.com:993 -crlf 

a capability 
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH AUTH=XOAUTH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN 
a OK Thats all she wrote! j14mb28178795bkd 

그래서 Gmail은 IDLE과 약 12 ​​개의 추가 확장을 지원합니다.

4

IMAP는 CAPABILITY 명령을 사용하여 서버 기능에 대한 정보를 요청합니다. 이는 클라이언트가 필요한 IMAP 기본 프로토콜에 대한 특정 확장자를 확인할 수있게하기 때문에 버전 번호보다 유용합니다.

관련 문제