Hallo,
es geht darum die Mails von einem IMAP Server verwalten zu lassen, anstatt sie doppelt auch in der lokalen Datenbank abzulegen.
Dazu habe ich z. B. die TidImap Komponente (
Indy 10.) benutzt. Dazu habe ich das Bespiel Mail Programm der
Indy's verwendet.
Das lesen funktionert auch, aber die Geschwindigkeit ist recht langsam, für 30 Mail Header (nur die Header) benötige ich ca. 4-5 Sekunden.
Gleichzeitig habe ich mit einem die Demo Version von
IP*Works installiert und siehe da, das
IP*Works Demo schafft locker 700 Mails in der gleichen Zeit.
Jetzt Frage ich mich, ist
Indy wirklich so viel langsamer, oder ist es einfach ein Denkfehler von mir.
Mit
Indy läuft eine Schleife:
Delphi-Quellcode:
for i := 0 to min(nCount-1,30) do begin
TheImap.GetUID(ncount - i, TheUID);
TheImap.UIDRetrieveFlags(TheUID, TheFlags);
TheImap.uidRetrieveHeader(TheUID, TheMsg);
Ich habe es mit den
Indy' auch nur mit einem :
TheImap.uidRetrieveHeader(int, TheMsg);
versucht, ist etwas schneller, aber nicht viel.
Bei
IP*Works gibt es eine Funktion:
ipwIMAP1.FetchMessageInfo();
Diese Funktion erspart die Schleife und im OnMessageInfo Event kann kann man die zurückgelieferten Einträge in der gewünschten Form darstellen.
Ich habe es mit Delphi 7 Architect und Delphi 2010 Enterprise getestet, das Ergebnis ist das gleiche.
Vieleicht bin ja einfach nur Betiebsbling im Moment
Gruß
Jörg
[edit=mkinzler]Delphi-Tags eingefügt Mfg, mkinzler[/edit]