2015-01-14 4 views
0

나는 내부적으로 Net :: IMAP을 사용하여 편지함에서 검색하는 루비 메일 젬을 사용하고 있습니다. 사서함 내에서 일련의 다른 폴더를 검색하고 있습니다. 때때로 메시지에 중복이 있습니다. 같은 message_id를 가진 두 개의 메시지. 또한 특정 사서함을 쿼리 할 때 다른 사서함의 다른 메시지가 추가됩니다. 수천 개의 메시지가있는 방대한 사서함입니다.루비 메일 중복 검색

검색을 수행하는 코드는 매우 기본입니다. 기본 검색을 사용하고 사서함에서 전달합니다.

이 문제를 방지 할 방법이 있습니까? 색인 생성 문제입니까? 도움을 주시면 감사하겠습니다.

답변

0

메일 함은 중복 메일을 포함 할 수 있습니다. 매우 자주 발생합니다 (예 : 누군가가 [email protected], [email protected]으로 메일을 보내고 누군가가 양쪽 팀에있을 때.

그것은 단지 삶의 사실입니다. 받아 들여.

다른 문제에 대해서는 IMAP 서버가 검색 결과의 일부로 다른 사서함에 메시지를 반환하지 않습니다. 그건 구문 적으로 가능하지 않습니다. 여기에 설명하기 위해 검색 명령 및 응답입니다 :

a uid search from <[email protected]> 
* search 123 234 345 456 567 678 789 
a OK search completed 

실수로 서버는 인덱스를 혼동하더라도 및 는 다른 사서함에서 메시지 (678)를 포함을 의미 클라이언트는 사서함과에서 메시지 678을 고려할 것 이는 검색을 매칭시키는 것인데, 이는 이것이 응답을 해석 할 수있는 유일한 방법이기 때문입니다.

+0

감사합니다. 그러나 검색은 동일한 사서함 내에서 폴더와 중복되지 않으며 다른 사서함과 중복되지 않습니다. @arnt, 이것에 대한 어떤 생각? – ShivamD

+0

폴더라고 부르는 것을 문서에서 "사서함"이라고합니다. 따라서 내 대답의 "사서함"은 "폴더"를 읽습니다. – arnt