Как получить все сообщения с помощью $ UID SEARCH ALL? - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь получить идентификатор всех сообщений из моей электронной почты, но это не работает. Я получаю этот ответ:

$ BAD [CLIENTBUG] Unrecognised command\r\n\0\0\0\0.

Как мне получить правильный ответ?

string uids1 = ReceiveResponse("$ SELECT INBOX\r\n");
string uids = ReceiveResponse("$ UID SEARCH ALL" + "\r\n");//query to server

private string ReceiveResponse(string command)
{
    _sb = new StringBuilder();
    try
    {
        if (command != "")
        {
            if (_tcpClient.Connected)
            {
                _dummy = Encoding.ASCII.GetBytes(command);
                _ssl.Write(_dummy, 0, _dummy.Length);
            }
            else
            {
                throw new ApplicationException("TCP CONNECTION DISCONNECTED");
            }
        }
        _ssl.Flush();

        _buffer = new byte[2048];
        _tcpClient.ReceiveTimeout = 20000;

        Encoding iso = Encoding.GetEncoding("ISO-8859-1");

        do
        {
            try
            {
                bytes = _ssl.Read(_buffer, 0, 2048);

                var msg = Encoding.UTF8.GetString(_buffer);

                _sb.Append(msg);
                Thread.Sleep(3);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        } while (_tcpClient.Available > 0);

        string text = _sb.ToString().Replace("\0", string.Empty);

        return _sb.ToString();
    }
    catch (Exception ex)//if we have some problem show message
    {
        throw new ApplicationException(ex.Message);
    }
}
...