2013-05-03 7 views
1

현재 메일 서버에서 IMAP 프로토콜을 구현하고 있습니다. 이 프로젝트를 처음으로 구현 한 것은 이번이 처음이며, 검색 명령을 제외하고는 RFC에 IMAP 명령의 대부분을 코딩했습니다. 저는 인터넷에서 검색을 해왔고 검색 명령을 올바르게 작성하는 방법을보기 위해 몇 주 동안 postfix 알고리즘을 연구했습니다. OR 또는 A B C D ==> (OR (OR A B) C) D 여러 OR이있을 때 검색 명령을 구현하는 방법에 대한 지침을 누군가가 알려줄 수 있습니까?서버에서 imap 검색을 구현합니다.

제공 할 수있는 도움에 감사드립니다.

답변

0

이것은 당신이 좋아할 대답이 될 수는 없지만 어쨌든 이것을 권합니다. . IMAP은 분명하지 않은 여러 가지 경우가있는 매우 복잡한 프로토콜입니다. 기본 버전 (RFC3501)은 또한 많은 고급 기능이 누락되어 있습니다. 특히 모바일 클라이언트의 경우 합리적인 성능을 얻으려면 꽤 많은 확장을 구현해야합니다.

내가 너라면, 기존 오픈 소스 IMAP 서버 구현과 통합하는 것이 좋습니다. 멋진 저장소 백엔드가 있다면 Dovecot 또는 Cyrus 용 플러그인을 작성할 수 있습니다.

당신이 실제로 다시 구현하기로 결정한 경우 이것이 첫 번째 복잡한 프로젝트 일 때 많은 방법으로 미묘하게 깨진 제품으로 끝날 가능성이 큽니다. 귀하의 목표가 판매 브로셔에 "speaks IMAP"구를 추가 할 수 있다면 잘 될 것이지만 실제로는 향후 5 년 내에 상호 운용성 문제를 해결할 것입니다.

+0

1 월, 내 의견을 공유해 주셔서 감사합니다. 불행히도 처음부터 다시 작성해야하는 이유는 정확합니다. Google 제품에 "IMAP 지원"라벨을 붙일 수 있습니다. 우리는 집에서 자란 메일 서버가 있기 때문에 최선을 다해서 또는 내 사장이 나를 쫓아 낼 때까지만 구현할 수 있습니다.) 이미이 길 아래에 있었던 누군가가 나에게 어떻게해야하는지에 대한 지침을 줄 수 있기를 바랍니다. 검색 명령을 구문 분석하는 복잡성을 처리합니다. –

관련 문제