![]() |
Implementierung: Neue Email bei GMX erhalten
Hallo Emailfans,
ich würde gern mit Delphi ein Programm schreiben, welches mein Emailaccount bei GMX checkt und mir bescheid gibt, wenn ich eine neue Email habe. Das Herunterladen der Email ist nicht notwendig, da ich mich mit dem Thema generell erst mal beschäftigen möchte. Ich bin in der DP-Suche eher auf „Emails verschicken“ gestoßen. Das Ganze soll auch erst mal ganz simpel sein und im Falle einer neuen Email einfach eine MessageBox auf dem Bildschirm ausgeben. Ich würde mich über Tutorials oder Stichworte für die Suche freuen. :hello: Thanx. DANNYBOY |
Re: Implementierung: Neue Email bei GMX erhalten
Hi.
Ich würde dafür die IdPOP3-Komponente aus den Indys empfehlen. Ich habe das auch mal gemacht, zwar nicht speziell für GMX, aber es hat prima funktioniert. Du kannst in dieser Komponente Deinen POP-Server und Deine Userdaten eintragen (wie in Deinem EMail-Client auch), und dann kannst Du dir die Liste der vorhandenen Mails holen. Das kannst Du dann in einem bestimmten Intervall machen.Lokal würde ich eine Liste pflegen, in welcher die Mails mit ihren IDs eingetragen werden. Dann kannst Du immer schauen, ob diese Mail schon bekannt ist, oder nicht. Gruß |
Re: Implementierung: Neue Email bei GMX erhalten
Ja genau! Nimm die IdPop3 Komponente
mit
Delphi-Quellcode:
kannst du dir dann die Größe der Mails auf dem Server holen. Wenn sich dieser Wert nach x Minuten geändert hat, hast du ne neue Mail.
MailBoxSize := IdPop3.RetrieveMailBoxSize;
Du könntest den Wert jetzt z.b. in eine Ini speichern und dann immer vergleichen. stefan |
Re: Implementierung: Neue Email bei GMX erhalten
Hi StefanDP, hi Bowler,
ich kann zwar den Aufwand gar nicht abschätzen, aber ich würde das lieber selbst schreiben, d.h. ohne Indy. |
Re: Implementierung: Neue Email bei GMX erhalten
|
Re: Implementierung: Neue Email bei GMX erhalten
Dann müsstest du das Pop3 - Protokoll implementieren und direkt mit einer TCP-Winsock Verbindung arbeiten (gehe mal davon aus dass du dann garkeine Komponenten nutzen willst).
Dazu käme die Namensauflösung etc, denke das wäre verschwendete Lebenszeit -> wozu wenn sich die Indy-Jungs bereits die Arbeit gemacht haben? Aber deine Sache :) Dann viel Spass dabei. |
Re: Implementierung: Neue Email bei GMX erhalten
Hm, also da wäre der Aufwand dann schon größer. Du müsstest direkt mit den Sockets arbeiten. Da der POP-Server, der die die gewünschten Infos zur Verfügung stellt, nur das POP-Protokoll versteht, müsstest du das selbst implementieren.
Du müsstest also mit Deine Socket eine Verbindung zum Server herstellen, und dann die im POP-Protokoll definierten Befehle senden, und die Ergebnisse verarbeiten. Genau kenne ich das Protokoll nicht, also den genauen "Wortlaut" der Befehle. Müsstest Du mal nach dem entsprechenden RFC suchen, oder im Source der Indys nachgucken, welche Befehle benutzt werden müssen. Soweit ich weiss, machen die Indys nichts anderes, als diese ganzen Schritte mit der Socket zu kapseln. Gruß Christian |
Re: Implementierung: Neue Email bei GMX erhalten
3x die mehr oder weniger gleiche Antwort :tongue:
|
Re: Implementierung: Neue Email bei GMX erhalten
Das nächste Problem ohne Indy ist, dass Du neben dem POP3 Protokoll auch den SMTP-Mail-Server ermitteln musst. Dass heißt, Du musst IP Adressen auflösen. (Protokoll: DNS)
...:cat:... |
Re: Implementierung: Neue Email bei GMX erhalten
Nun haben wir schon 4 fast identische. Wozu braucht er den SMTP er will doch nicht Emails versenden sondern nur abfragen was auf dem Server liegt, oder sind mir beim Überfliegen fehler unterlaufen?
|
Re: Implementierung: Neue Email bei GMX erhalten
Ersetze SMTP-Mail-Server mit POP3-Mail-Server :oops:
...:cat:... |
Re: Implementierung: Neue Email bei GMX erhalten
Hi!
Da explizit nach GMX gefragt wurde: Willst du den Weg über POP3 gehen, oder willst du es evtl. über das WebInterface mit einloggen und auslesen machen? (Auch wenn das unschöner wäre) Ciao Frederic |
Re: Implementierung: Neue Email bei GMX erhalten
Oh, da habe ich wohl den Aufwand ein wenig unterschätzt. :oops: :oops: :oops:
Also dann, her mit den Indys. :mrgreen: :mrgreen: :mrgreen: |
Re: Implementierung: Neue Email bei GMX erhalten
hallo,
also einen einfachen smtp/pop3 client zu realisieren ist nicht wirklich schwer, das protokoll ist relativ simpel aufgebaut und läßt sich mit telnet ohne große probleme nachvollziehen, alles was du brauchst ist ein packetsniffer der die kommunikation zwischen deinem emailclient (z.b. outlook) und dem mailserver mitschneidet, damit hast du dann eine gute grundlage das ganze mit delphi nachzubauen, allerdings mit wenig kompfor und relativ umständlich =) |
Re: Implementierung: Neue Email bei GMX erhalten
Das Problem mit RetrieveMailBoxSize ist, dass wenn du eine Nachricht löschst, das Programm auch anschlägt. Mein Vorschlag, guck mal in die Indy-Dok. da muss irgendwas von einer eindeutigen Mail-Id stehen (sowas wie Hash). Die dann einfach holen und in eine Stringlist oder DB schieben. Sobald dann eine Nummer auf dem Server ist, die noch nicht erfasst wurde, lässt du eine Message-Box aufploppen.
Alternativ kannst du auch alle Mails runterlden (ohne löschen), die Hash-Summe bilden (z.B. mit DEC) und dann wie oben. Ist aber eigentlich doppelt gemoppelt. Gruß, quirks |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz