2017-04-19 1 views
0

"سلام"와 같은 searchPhrase의 특수 문자로 검색 명령을 사용하면이 오류가 발생합니다. 다른 경우. 또한 UTF-8 인코딩을 시도했습니다. 오류는 없지만 결과를 돌려주지는 않습니다.IMAP 서버가 '검색'명령에 '아니오'응답으로 응답했습니다. 검색을 위해 문자 집합이 지원되지 않습니다.

var uids = Client.Inbox.Search(SearchQuery.SubjectContains(searchPhrase)); 

제안 사항?

+0

: 여기

내 작은 테스트 프로그램입니까? 해결책은 무엇입니까? –

+0

** SERVER **가 문자 집합을 지원하지 않는다는 오류 메시지가 표시됩니다. 그것은 당신의 코드와 관련이 없습니다. 서버 책임자와 이야기하고 지원하는 문자 세트를 물어보십시오. –

+0

일부 서버에는 끔찍한 국제화 지원이 있습니다. – Max

답변

2

난 그냥 MailKit를 사용하면 Gmail에서이 시험이 내가 무엇을 얻을 :

S: A00000006 OK [READ-ONLY] INBOX selected. (Success) 
C: A00000007 UID SEARCH RETURN() CHARSET UTF-8 SUBJECT {8+} 
C: سلام 
S: * ESEARCH (TAG "A00000007") UID 
S: A00000007 OK SEARCH completed (Success) 

오류가 무엇입니까? 나에게 잘 작동하는 것 같다. (분명히 Subject 헤더에 그 문자열을 가진 메시지가 없다는 것 외에는). 나도이 질문이

using System; 

using MailKit.Net.Imap; 
using MailKit.Search; 
using MailKit; 
using MimeKit; 

namespace GMailSearchTest { 
    class Program 
    { 
     public static void Main (string[] args) 
     { 
      using (var client = new ImapClient (new ProtocolLogger (Console.OpenStandardOutput()))) { 
       // For demo-purposes, accept all SSL certificates 
       client.ServerCertificateValidationCallback = (s,c,h,e) => true; 

       client.Connect ("imap.gmail.com", 993, true); 

       // Note: since we don't have an OAuth2 token, disable 
       // the XOAUTH2 authentication mechanism. 
       client.AuthenticationMechanisms.Remove ("XOAUTH2"); 

       client.Authenticate ("[email protected]", "xxx"); 

       client.Inbox.Open (FolderAccess.ReadOnly); 
       client.Inbox.Search (SearchQuery.SubjectContains ("سلام")); 

       client.Disconnect (true); 
      } 
     } 
    } 
} 
관련 문제