IMAP 服务器以'NO'响应回复了'SEARCH'命令:搜索不支持字符集



当我将搜索命令与searchphrase中的特殊charachter一起使用时,我会遇到此错误在其他情况下,它可以正常工作。我还尝试过编码UTF-8。那没有错误,但没有回馈任何结果。

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

任何建议?

我刚刚使用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)

错误是什么?似乎对我有用(除了我显然没有任何有关主题标题中该字符串的消息的事实(。

这是我的小测试程序:

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 ("xxx@gmail.com", "xxx");
                client.Inbox.Open (FolderAccess.ReadOnly);
                client.Inbox.Search (SearchQuery.SubjectContains ("سلام"));
                client.Disconnect (true);
            }
        }
    }
}

最新更新