Entwickler-Ecke

Sonstiges (Delphi) - Windowsmessage bei neuen Mails?


Henry - Di 03.05.05 13:37
Titel: Windowsmessage bei neuen Mails?
Hallo,
gibt es eine Windowsmessage die ausgelöst wird wenn eine neue E-Mail eingegangen ist?
So das ich mit meinem Programm darauf reagieren kann wenn bei Outlook eine neue Mail eingegangen ist?

Danke euch schon einmal


Delete - Di 03.05.05 13:41

Nein.


Henry - Di 03.05.05 13:53

Schade eigendlich.
Kann man irgendwie anders darauf reagieren?


Delete - Di 03.05.05 13:58

Nimm dir die Indy POP3 Komponente und frag das Postfach selber ab.


Henry - Di 03.05.05 14:21

Das wird nicht sicher funktionieren, denn wenn ich mit Outlook die Mails abgeholt habe dann ist das Postfach leer.
Danke Dir aber trotzdem für die Hilfe


Delete - Di 03.05.05 14:29

user profile iconHenry hat folgendes geschrieben:
Das wird nicht sicher funktionieren, denn wenn ich mit Outlook die Mails abgeholt habe dann ist das Postfach leer.

Ja und? Du fragst regelmäßig dein Postfach ab, lädst aber nichts runter. Wenn die Anzahl der E-Mails größer null und größer als bei der letzten Abfrage waren, dann löst du ein Ereignis aus. Wenn du jetzt die Mails mit Outlook abholst, ist die Anzahl wieder gleich null. Ist zwar anderes wie beim letzten mal Abfragen aber eben null -> kein Ereignis. Jetzt kommt wieder eine -> Anzahl größer null und geänderte Anzahl als bei der letzten Abfrage -> Ereignis.


Henry - Di 03.05.05 14:45

Mein Outlook ruft die Mails auch in einem Zeitraster ab und somit kann das Postfach schon leer sein wenn ich es mit meinem Programm abfrage.
Und zu oft abfragen kann ich auch nicht, da sonst die Spamsperre des Providers greift.
Deshalb wollte ich es versuchen so zu lösen das mein Programm erst dann reagiert wenn die Mails auf meinem Rechner sind.
Ich hatte vor so eine art Hausinternes Meldesystem zu bauen was mir sagt wann Mails auf meinem Rechner angekommen sind.


Stefan.Buchholtz - Di 03.05.05 14:46

user profile iconLuckie hat folgendes geschrieben:
user profile iconHenry hat folgendes geschrieben:
Das wird nicht sicher funktionieren, denn wenn ich mit Outlook die Mails abgeholt habe dann ist das Postfach leer.

Ja und? Du fragst regelmäßig dein Postfach ab, lädst aber nichts runter. Wenn die Anzahl der E-Mails größer null und größer als bei der letzten Abfrage waren, dann löst du ein Ereignis aus. Wenn du jetzt die Mails mit Outlook abholst, ist die Anzahl wieder gleich null. Ist zwar anderes wie beim letzten mal Abfragen aber eben null -> kein Ereignis. Jetzt kommt wieder eine -> Anzahl größer null und geänderte Anzahl als bei der letzten Abfrage -> Ereignis.


Das funktioniert nur leider nicht mit Sicherheit, weil es ja sein kann, dass Outlook schneller ist und die Mails abholt, bevor dein Programm sie zu sehen bekommt.
Vielleicht ist es eine Möglichkeit, Outlook so einzustellen, die Mails nicht sofort zu löschen. In den Kontoeinstellungen von Outlook kann man bestimmen, dass Mails erst nach n Tagen vom Server zu löschen.

Stefan


Delete - Di 03.05.05 14:49

Wenn es nur um Outlook geht, dann guck dir mal die Server-Komponenten von deiner Delphi Version zu Outlook an.


Henry - Di 03.05.05 15:07

user profile iconLuckie hat folgendes geschrieben:
Wenn es nur um Outlook geht, dann guck dir mal die Server-Komponenten von deiner Delphi Version zu Outlook an.

Werde ich mir mal anschauen