Raven280438
Erfahrenes Mitglied
Hi,
ich möchte mit ImapX alle Ordner eines IMAP-Postfachs anzeigen.
bringt leider nur die Unterordner, die maximal 1 Ebene tief sind, der Rest wird nicht angezeigt.
Ich hab dran gedacht, eine rekursive Funktion zu schreiben, leider funktioniert das auch nicht so richtig.
Eine andere Möglichkeit, die ich probiert habe ist, "per Hand" das List-Kommando abzusetzen und die Rückgabe zu verarbeiten:
Das funktioniert soweit auch, Probleme gibts dann aber wenn ich z.B. die Anzahl an E-Mails in einem Unterordner ermitteln will:
Hat jemand Erfahrung mit ImapX (oder einer anderen kostenlosen IMAP-Dll) und kann mir bei diesem Problem helfen?
Gruß
ich möchte mit ImapX alle Ordner eines IMAP-Postfachs anzeigen.
Code:
ImapX.FolderCollection collection = this.Client.GetFolders();
bringt leider nur die Unterordner, die maximal 1 Ebene tief sind, der Rest wird nicht angezeigt.
Ich hab dran gedacht, eine rekursive Funktion zu schreiben, leider funktioniert das auch nicht so richtig.
Eine andere Möglichkeit, die ich probiert habe ist, "per Hand" das List-Kommando abzusetzen und die Rückgabe zu verarbeiten:
Code:
List<String> returnlist = new List<String>();
ArrayList result = new ArrayList();
if (this.Client._client.SendAndReceive("list \"\" \"*\"" + Environment.NewLine, ref result))
{
Regex regex = new Regex("^* LIST (.*) \"(.*)\" (.*)$");
foreach (String line in result)
{
if (regex.IsMatch(line))
{
String folder = regex.Match(line).Groups[3].Value;
folder = folder.Trim(new char[] { '"' });
returnlist.Add(folder);
}
}
}
returnlist.Sort();
return returnlist;
Code:
this.Client.Folders[Ordner].Messages.Count(); //wirft bei Unterordnern eine Exception
Hat jemand Erfahrung mit ImapX (oder einer anderen kostenlosen IMAP-Dll) und kann mir bei diesem Problem helfen?
Gruß