POP3 Client, send, recv
-
Hallo,
Ich habe die Suchfunktion bereits benutzt :), hat mir auch allgemein was zum Thema gebracht, aber mein Problem nicht gelöst:
Ich verbinde mich mit einem POP3 Server (pop3.web.de), alles gut, bekomme auch ein Begrüßung vom Server (hello from popgate web.de oder so), dann sende ich den Benutzernamen -> 'password required for [User]', ok, passwort danach auch geschickt, aber nach dem Passwort bekomm ich keine Rückmeldung vom Server. Dabei ist das Passwort auf jeden Fall richtig! Also, nicht damit hier falsche Schlüsse aufkommen oder so : das ist schon mein E-Mail-Account...Hier mein Code :
... sprintf(buf, "USER [User]\r\n"); send(s, buf, strlen(buf) + 1, 0); rc = recv(s, buf, 256, 0); MessageBox(NULL, buf, "Antwort vom Server", NULL); sprintf(buf, "PASS [PW]\r\n"); send(s, buf, strlen(buf) + 1, 0); rc = recv(s, buf, 256, 0); MessageBox(NULL, buf, "Antwort vom Server", NULL); ...
Ich habs mit Telnet ausprobiert, und da klappts wundebar :-)...woran liegts?
Danke
-
hab meinen Fehler selbst gefunden, war ein kleiner Tippfehler, ich hab den POP3 Server von Yahoo benutzt, wo ich auch einen Account habe, aber nicht unter diesem Benutzernamen...kommt aber ein neuer Fehler (verbinde mich nun mit pop3.web.de) : zweitletzte Message (also nach dem Passwort) :
-ERR
20556Habe mich im Internet nach Fehlercodes von POP3 umgeschaut, habe aber nur welche gefunden, deren Wert viel größer ist, z.B. 0x800CCC90 steht für Ungültige Clientantwort...aber mein Fehlercode ist 0x504C, oder aber halt 0x20556...
Was ist das für ein Fehler?Danke
-
Hab ihn wieder selbst gefunden...strlen(buf) + 1, ist irgendwie falsch...habs mal aus Testzwecken weggelassen, und siehe da, es funzt...
Danke trotzdem...
-
Ich kenn das Protokoll zwar nicht, aber ich glaube nicht dass du die 0 am Ende mitschicken musst.
Und wenn du dir das Empfangene ausgeben willst, solltest du es vorher mit 0 abschließen.
buf[rc] = 0;