Pop3 empfangen
-
Hallo liebe Programmierer,
So langsam bin ich am verzweifeln. Ich suche schon Stundenlang nach irgend einer Möglichkeit mit C# E-Mails über POP3 zu empfangen. Hätte mir da jemand einen guten DEUTSCHEN (mein Fachenglisch ist sehr schlecht, ich bin auch noch nicht einmal 13) Tipp?
Vielen Dank im Voraus!
PS.: Google habe ich sehr wohl schon benutzt
-
Also Bibliotheken für POP3 in C# gibt es einige ... aber auf Deutsch? Da kannst du wohl lange suchen. In der Programmierung ist halt Englisch eigentlich Pflicht. Oder anders gesagt: Mach dir keine grossen Hoffnungen.
Grüssli
-
Ich weiß ja, dass Englisch sehr wichtig ist, aber mit noch nicht einmal 13 Jahren bin ich der Englischen Sprache noch nicht sehr mächtig. Was soll ich jetzt machen um meine E-Mail Programm Sammlung fertig zu stellen?
-
Mach doch erstmal was einfaches um dich in die Sprache ein zu lernen.
-
Naja, es wäre ja nicht so, dass ich gar nichts in dieser Sprache kann, ich habe ein Programm geschrieben das E-Mails senden kann und ich arbeite gerade http://openbook.galileocomputing.de/visual_csharp_2010/durch.
Könnte mir nicht jemand von euch bitte einen Link zu einer guten Lib zeigen und mir die Grundlegenden Felder und Methoden dieser Klasse erklären?
-
Vor allen der Encoding Wirrwarr bei Emails dürfte ein bisschen schwer zu behandeln sein.Das Abrufen ist dagegen sehr einfach.
1. Guckt dir die Pop3 Befehle an: http://de.wikipedia.org/wiki/Pop3
2. Guck dir den TCPClient an: http://msdn.microsoft.com/de-de/library/system.net.sockets.tcpclient.aspx
3. Verbinde dich mit den TCPClient mit deinen Mailserver und sende die POP3 Befehle
4. Wenn du die Mails hast beginnt das Parsen was dich zur Verzweiflung bringen wird.
-
Vielen Dank an Benutzer_Name!!!
Für mich zählt jeder Erfolg. Daher freue ich mich das du mir eine gute Antwort gegeben hast. Letztendlich ist es mir egal ob POP3 oder IMAP, wäre es da leichter?
-
TcpClient senderr = new TcpClient();
bekomme ich ja nocht hin. Die connect-Methoden kann ich nicht verwenden weil sie IP Adressen fordern. Aber wie verbinde ich ihn dann mit pop3.web.de?
TcpClient(String, Int32)
fällt für mich auch weg, weil ich nicht weiß was ich mit diesen Parametern machen soll?
-
Das ist der Grund, wieso ich nicht sowas vorgeschlagen habe, wie es Benutzer_Name getan hat. Um es selber zu machen, also nicht über eine Bibliothek, musst du einiges zusätzliches Wissen über TCP/DNS/IP und co haben. Zudem musst du die RFCs lesen, wie man POP3 oder IMAP4 verwendet. Diese sind wiederrum in Englisch geschrieben. Sicherlich gibt es dazu auch ein paar Informationen auf der deutschen Wikipedia, vielleicht hat es auch ein paar deutsprachige Tutorials, aber ich halte dies für keinen sinnvollen Weg.
Zusätzlich verbieten immer wie mehr E-Mail Anbieter eine nicht verschlüsselte Verbindung. Wodurch noch Wissen über TLS/SSL dazukommen würden.
Eine SMTP Verbindung ist noch einfach realisierbar, weil du direkt die Klassen von
System.Net.Mail
aus dem .Net Framework verwenden kannst.So leid es mir tut, aber ich schliesse mich David W an. Probier etwas einfacheres. Es braucht einiges an Wissen um sowas zu realisieren. Sowas ist definitiv nichts für einen Anfänger und noch weniger für jemanden ohne Englischkenntnissen. Ohne Mentor sehe ich da schwarz.
Grüssli
-
Ansonsten schon eine fertige Klasse nehmen:
ev. diese hier? http://www.codeproject.com/KB/IP/despop3client.aspx oder diese hier? http://sourceforge.net/projects/hpop/[EDIT]
TcpClient(String, Int32)
fällt für mich auch weg, weil ich nicht weiß was ich mit diesen Parametern machen soll?
Dann guck nach: http://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient.aspx
-
@theta,
Er kann kein Englisch!Grüssli
-
Wenn du mehr über POP3 lernen willst, dann ist die TCP-Lösung sicher interessant. Ansonsten kannst du direkt http://sourceforge.net/projects/hpop/ verwenden.
MfG SideWinder
-
Dravere schrieb:
@theta,
Er kann kein Englisch!Grüssli
Ja, aber die MSDN Doku gibt auch in Deutsch.
-
theta schrieb:
Dravere schrieb:
@theta,
Er kann kein Englisch!Grüssli
Ja, aber die MSDN Doku gibt auch in Deutsch.
Ich bezog mich auf die zusätzlichen Klassen, welche du vorgeschlagen hast und nun auch SideWinder gemacht hat. Die Dokumentationen dazu sind alle in Englisch!
Und die Dokumentation zum
TcpClient
hat er bereits in Deutsch von Benutzer_Name erhalten, wenn du seinen Beitrag liest. Dort steht wunderbar de-de im Link
Wenn du dann sogar noch draufklickst, siehst du oben das folgende:MSDN schrieb:
Dieser Text wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über den Text im Inhaltsfeld, um den Originaltext anzuzeigen.
Die Qualität lässt somit eher zu wünschen übrig.
Grüssli
-
Der Wikipedia Artikel enthält die Befehle und ein Beispiel wie mit ihnen eine Mail abgerufen wird,das sollte zum Anfangen reichen.
Die Verbindung zum Server kriegst du so:
TcpClient = new TcpClient(); sender.Connect("pop3.web.de",110);
Der erste Parameter den der TCPClient erwartet ist der Hostname des Servers und der zweite ist der Port den du erreichen möchtest.Für POP3 ist das für gewöhnlich 110,wie es Wikipedia Artikel steht.
-
Ich habe da etwas Code in C++/CLI, den ich vor etwa drei Jahren zusammengeschrieben habe.
Er stammt aus den ersten Tagen meiner Programmierversuche und ist bestimmt NICHT BESONDERS zum lernen geeignet. Dennoch könnte er dir bei deinen Anfängen helfen.
Das Senden, Empfangen etc. funktionierte relativ verlässlich, nur die Encodings haben mich hinterher zur Verzweiflung getrieben.
Habe eben nen altes Backup gefunden und würde dir das zur Verfügung stellen, wenn du interesse hast.