Trying to delete emails using open pop library c#

526 Views Asked by At

I am trying to read emails from an email box and delete some of them upon a certain condition. For that reason I am using open pop library. When I tried to iterate and delete the emails I am getting the following error: 'Cannot access a disposed OpenPop.Pop3.Pop3Client. Object name: 'OpenPop.Pop3.Pop3Client'.'

Pop3Client popClient = new Pop3Client();

popClient.Connect("mail.test.com", 110, false);
popClient.Authenticate("test.com", "testpass");

int messageCount = popClient.GetMessageCount();

List<OpenPop.Mime.Message> allMessages = new List<OpenPop.Mime.Message>(messageCount);

for (int i = messageCount; i > 0; i--)
{
    allMessages.Add(popClient.GetMessage(i));
}

for(int i = allMessages.Count() - 1; i > 0; i--)
{
    StringBuilder builder = new StringBuilder();

    OpenPop.Mime.MessagePart plainText = allMessages[i].FindFirstPlainTextVersion();

    if (plainText != null)
    {
        builder.Append(plainText.GetBodyAsText());
        string emailText = builder.ToString();
        string email = GetStringValue("Email Address: ", emailText).Trim();
    }

    if (email != "[email protected])
    {
        popClient.DeleteMessage(i);
        popClient.Disconnect();           
    }

}
0

There are 0 best solutions below