В настройках C # Gmail включен POP3 - PullRequest
3 голосов
/ 27 сентября 2010

Hy,

Я получаю почту из учетной записи gmail программно, используя эти библиотеки http://mailsystem.codeplex.com/.

Все в порядке (я получаю количество сообщений и список всехсообщения), когда я запускаю свое приложение в первый раз после того, как я установил «Включить POP для всей почты» на OK на вкладке «Пересылка и POP / IMAP» в меню «Настройки».Но когда я запускаю его снова, сообщения не извлекаются.И если я снова пойду и установлю разрешение POP для всей почты, приложение снова будет работать.

Я думаю, что мне нужно установить «включить POP для всей почты» программно, прежде чем запускать код извлечения сообщений.

Кто-нибудь знает, как я могу сделать это программно в C # и asp.net?

Код, который я использую:

Pop3Client pop = new Pop3Client();
        try
        {
            Label7.Text = string.Format("Connection to the pop 3 server : {0}", "pop.gmail.com ");
            pop.ConnectSsl("pop.gmail.com", 995, TextBox4.Text, TextBox5.Text);

            Label7.Text += string.Format("Message Count: {0}", pop.MessageCount.ToString());
            MessageCollection mc = new MessageCollection();
            for (int n = 1; n < pop.MessageCount + 1; n++)
            {
                Message newMessage = pop.RetrieveMessageObject(n);
                mc.Add(newMessage);

                 Label7.Text += string.Format("Message ({0}) : {1} ", n.ToString(), newMessage.Subject);
            }
        }

        catch (Pop3Exception pexp)
        {
            Label7.Text = string.Format("Pop3 Error: {0} ", pexp.Message);
        }

        catch (Exception ex)
        {
            Label7.Text = string.Format("Failed: {0} ", ex.Message);
        }

        finally
        {
            if (pop.IsConnected)
            {
                pop.Disconnect();
            }
        }

И я использую ActiveUpБиблиотека .Net.Mail из источника, о котором я упоминал ранее.

1 Ответ

2 голосов
/ 27 сентября 2010

Вы пытаетесь получить поведение IMAP4 с POP3 ?

С POP3 , электронная почта обычно удаляется с сервера после получения.Тогда только новые сообщения станут доступны в вашем приложении при следующем подключении.И т. Д.

При IMAP4 сообщения остаются на сервере.Это другой подход.Вы должны поддерживать состояние локально, которое будет синхронизироваться с вашим IMAP4 сервером.

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