2010-11-30 32 views
0

Ich versuche, alle E-Mails aus einem Postfach mithilfe der Koolwired.Imap-Bibliothek zu löschen. Ich habe den folgenden Code, der alle Nachrichten werden Kennzeichnung sollte und sie, sobald alle markiert sind, löschen,Koolwired.Imap - Wie lösche ich Nachrichten?

 _mailbox = _command.Fetch(_mailbox); 
     foreach (ImapMailboxMessage m in _mailbox.Messages) 
     { 
      try 
      { 
       _command.SetDeleted(m.ID, true); 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine("Marking Error: " + e.Message + "(" + m.MessageID + ")"); 
      } 
     } 
     try 
     { 
      _command.Expunge(); 
     } 
     catch (Exception e) 
     { 
      Console.WriteLine("Expunge Error: " + e.Message); 
     } 

Wenn ich den obigen Code ausführen bekomme ich folgende Fehler:

Marking Error: Input string was not in a correct format.() 
Marking Error: No UID found for message number3() 
Marking Error: No UID found for message number1() 
Marking Error: Input string was not in a correct format.() 
Marking Error: Input string was not in a correct format.() 
Marking Error: Input string was not in a correct format.() 

I Es sieht so aus, als bestünde ein Problem mit der UID der Nachricht auf dem größten Teil der Nachricht. Danach laufen etwa 99% der Nachrichten nicht gelöscht, einige 2-3 werden gelöscht. Wenn ich das Programm erneut laufe, bekomme ich die gleichen Fehler, aber ein paar weniger und weitere 2-3 E-Mails werden gelöscht.

Wie soll ich E-Mails mit der Koolwired.Imap-Bibliothek löschen? Gibt es andere Imap-Bibliotheken, die mit C# arbeiten? Als ich sah, ist dies der einzige, den ich gefunden habe.

Antwort

0

Ihr Code sieht aus wie es sollte funktionieren nach http://imapnet.codeplex.com/Thread/View.aspx?ThreadId=73377 und ich sehe Sie dort auch gepostet. Haben Sie versucht, ein Google Mail-Konto einzurichten und zu testen, um zu sehen, was passiert? bei früheren Projekten und hatte viel Glück mit ihm:

Wie bei anderen Bibliotheken, ich habe die EAGetMail POP3 & IMAP4 Komponente (www.emailarchitect.net/eagetmail/ kann nicht hinzufügen Link aufgrund meiner neuen Account) verwendet.

+0

Ich teste diesen Code mit einem Google Mail-Konto. Ich werde mir die Lib, die Sie aufgelistet haben, ansehen. – Justin808