Полученные письма не заказываются, когда я использую pop3 - PullRequest
0 голосов
/ 14 ноября 2018

Сначала я выбирал электронные письма с помощью POP3, используя эту библиотеку OpenPop.Pop3, и она работала нормально, и она возвращала электронные письма, заказанные с последнего электронного письма, на первое электронное письмо, но когда я переключаю библиотеку на библиотеку mailkit, возвращенные сообщения не упорядочиваются и не могут быть отправлены.не знаю, исходя из того, какой порядок почтовых отправлений получал письма, это мой код после того, как я перехожу в библиотеку mailkit

using (Pop3Client client = new Pop3Client())
        {
            // Connect to the server
            client.Connect(hostname, port, useSsl);
            client.AuthenticationMechanisms.Remove("XOAUTH2");
            client.Authenticate((username), password);
            int messageCount = client.Count;

            // We want to download all messages
            List<MimeMessage> allMessages = new List<MimeMessage>(messageCount);

            for (int i = messageCount-1; i > 0; i--)
            {
                    var msg = client.GetMessage(i);
                    allMessages.Add(msg);
            }
         }

, поэтому переменная allmessages должна содержать письма, заказанные с последнего письма на первое письмо, но это не произошло, письма не были заказаны ввсе, хотя раньше я использовал ту же аутентифицированную электронную почту с OpenPop.Pop3, а заказанные письма были заказаны

1 Ответ

0 голосов
/ 14 ноября 2018

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

При этом MailKit использует индексы на основе 0, хотя я полагаю, что OpenPOP.NET должен иметьиспользуются индексы на основе 1, поэтому ваш цикл должен внести следующее изменение:

for (int i = messageCount-1; i >= 0; i--)
{
    var msg = client.GetMessage(i);
    allMessages.Add(msg);
}

Возможно, это даст ожидаемые результаты?

Обновление: Получается, чтоMailKit корректно загружал сообщения в обратном порядке, точно так же, как его код пытался это сделать (как упомянуто в его последующем вопросе ).Проблема, с которой столкнулся этот пользователь, заключается в том, что в настройках его учетной записи GMail только для Mail3K Pop3Client было указано подмножество его общего почтового ящика, как объяснено в FAQ * 1013 от Google в разделе под заголовком «Электронная почта загружается неправильно», гдев нем говорится:

После того, как вы настроите POP в настройках Gmail, ваши электронные письма станут доступны в пакетном режиме.Просмотр всех ваших электронных писем может занять некоторое время.

Примечание. Gmail загружает копию каждого отправляемого или получаемого вами электронного письма, за исключением писем в чатах, спаме и корзине.Чтобы избежать дубликатов, Gmail не загружает электронные письма, отправленные внутри вашего почтового клиента, но вы по-прежнему можете видеть их, если входите в Gmail.

Если у вас по-прежнему возникают проблемы с загрузкой электронной почты, попробуйте использовать недавний режим:

  1. На странице настроек POP вашего почтового клиента найдите поле "Адрес электронной почты" или "Имя пользователя".
  2. Добавить последние: перед вашим адресом электронной почты.Например, недавние: example@gmail.com.

Если это не решит проблему, попробуйте удалить свой адрес Gmail из почтового клиента, а затем повторно добавить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...