0

我们正在使用 OpenPop.NET dll 通过 gmail 访问电子邮件。我们能够收到电子邮件,但不幸的是我们无法通过 C# 删除电子邮件。每当我们尝试删除电子邮件时,它都会抛出如下所述的错误:

如果不先对服务器进行身份验证,您就无法删除该消息。

我们已经在第一行对服务器进行了身份验证,然后我们正在处理消息并删除。最后,我们调用 Disconnect 以便将其从 POP 服务器中删除。

请在下面找到我们的代码片段:

string Mailaddress = Convert.ToString(ConfigurationManager.AppSettings["EmailAddress"]);
string Password = Convert.ToString(ConfigurationManager.AppSettings["Password"]);
pop3Client = new Pop3Client();
pop3Client.Connect("pop.gmail.com", 995, true);
pop3Client.Authenticate(Mailaddress, Password);
messages.Clear();
int count = pop3Client.GetMessageCount();

for (i = count; i >= 1; i -= 1)
{
    Message message = pop3Client.GetMessage(i);
    ParseMessageBody(message);
    pop3Client.DeleteMessage(i);
}

请让我们知道我们缺少什么。

4

2 回答 2

0
I used Using sentence:
using (Pop3Client client = new Pop3Client())
            {
                // conectamos al servidor
                client.Connect(hostname, port, useSsl);

                // Autentificación
                client.Authenticate(username, password);

                client.DeleteAllMessages();
            }
Work ok in my Proyect
于 2016-05-31T14:59:10.323 回答
0

您必须在删除消息后断开连接。所以检查一下

于 2016-09-23T12:06:37.583 回答