C#Gmail设置已启用POP3

时间:2010-09-27 11:08:48

标签: c# asp.net gmail pop3

HY,

我正在使用此库http://mailsystem.codeplex.com/从一个gmail帐户检索邮件。

在我将“为所有邮件启用POP”设置为“转发和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 个答案:

答案 0 :(得分:2)

您是否尝试使用 IMAP4 获取 POP3 行为?

使用 POP3 ,通常会在检索后从服务器中删除该电子邮件。然后,下次连接时,只有新消息可以在您的应用程序中使用。等等。

使用 IMAP4 ,邮件仍保留在服务器上。这是一种不同的方法。您必须在本地维护一个与 IMAP4 服务器同步的状态。