MailKit. Net .Imap.ImapProtocolException: «Синтаксическая ошибка в приветствии сервера IMAP. Неожиданный токен: [atom: OK]» - PullRequest
0 голосов
/ 20 марта 2020

код:

using (var client = new ImapClient(new ProtocolLogger("logImap.txt")))
{
    // For demo-purposes, accept all SSL certificates
    client.ServerCertificateValidationCallback = (s, c, h, e) => true;
    client.Connect("imap.yandex.ru", 993, true);
    client.Authenticate(login, password);
    // The Inbox folder is always available on all IMAP servers...
    var inbox = client.Inbox;
    inbox.Open(FolderAccess.ReadOnly);
    Console.WriteLine("Total messages: {0}", inbox.Count);
    Console.WriteLine("Recent messages: {0}", inbox.Recent);
    for (int i = 0; i < inbox.Count; i++)
    {
        var message = inbox.GetMessage(i);
        Console.WriteLine("Subject: {0}", message.Subject);
    }
    client.Disconnect(true);
}

Трассировка стека:

MailKit. Net .Imap.ImapEngine.AssertToken (MailKit. Net .Imap.ImapToken, MailKit. Net .Imap.ImapTokenType, string, object []) MailKit. Net .Imap.ImapEngine.ConnectAsyn c (MailKit. Net .Imap.ImapStream, bool, System.Threading.CancellationToken) System.Runtime .ExceptionServices.ExceptionDispatchInfo.Throw () System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task) System.Runtime.CompilerServices.TaskAwaiter.Handle.on ConfiguredTaskAwaitable.ConfiguredTaskAwaiter. ) System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task) System.Runtime.CompilerServices. TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task) ...

И logImap.txt:

Connected to imaps://imap.yandex.ru:993/
S: OK IMAP4

Что я могу сделать с этой проблемой?

1 Ответ

0 голосов
/ 20 марта 2020

Это то, что я получаю, когда запускаю вашу программу (после комментирования всего после вызова Connect(), так как у меня нет имени пользователя и строки пароля для использования).

Connected to imaps://imap.yandex.ru:993/
S: * OK Yandex IMAP4rev1 at iva1-ea72743daf57.qloud-c.yandex.net:993 ready to talk with ::ffff:72.94.35.232:51061, 2020-Mar-20 16:12:10, ACZCR35nKa61
C: A00000000 CAPABILITY
S: * CAPABILITY IMAP4rev1 CHILDREN UNSELECT LITERAL+ NAMESPACE XLIST BINARY UIDPLUS ENABLE ID AUTH=PLAIN AUTH=XOAUTH2 IDLE MOVE
S: A00000000 OK CAPABILITY Completed.
C: A00000001 LOGOUT
S: * BYE IMAP4rev1 Server logging out
S: A00000001 OK LOGOUT Completed.

В вашем В журнале приветствие выглядит иначе:

S: OK IMAP4

Обратите внимание, что первый символ в приветствии в моем случае - *.

. Это означает, что сервер, к которому вы подключились, неисправен. IMAP-сервер и не является ошибкой MailKit.

Яндекс выглядит как циклический перебор IMAP-серверов. Тот, к которому я подключился, очевидно, работает, но тот, к которому ты подключился, сломан.

...