SMTP / POP3 Client, eMail Encoder & Decoder
Re: SMTP / POP3 Client, eMail Encoder & Decoder
Hallo...
so, habe jetzt alle bisherigen Funktionen ausser POP3 unter Linux (Ubuntu 10.04 x64) erfolgreich getestet. Die Datumskonvertierung unter Linux funktioniert nun auch, und die Windows-Version wurde verbessert.
Danke nochmal an Nino für den Tipp mit "date" - funktioniert prima.
Nachtrag: der selbe Fehler aus SMTP steckte auch in POP3 drin - ist jetzt behoben
Test mit der PB Final 4.51 erfolgreich (Win7 x64).
so, habe jetzt alle bisherigen Funktionen ausser POP3 unter Linux (Ubuntu 10.04 x64) erfolgreich getestet. Die Datumskonvertierung unter Linux funktioniert nun auch, und die Windows-Version wurde verbessert.
Danke nochmal an Nino für den Tipp mit "date" - funktioniert prima.
Nachtrag: der selbe Fehler aus SMTP steckte auch in POP3 drin - ist jetzt behoben
Test mit der PB Final 4.51 erfolgreich (Win7 x64).
Zuletzt geändert von cptdark am 27.11.2012 22:51, insgesamt 1-mal geändert.
Manjaro x64 * Windows 10 x64 * PureBasic 5.50
planet-RK
planet-RK
Re: SMTP / POP3 Client, eMail Encoder & Decoder
Hallo cptdark,
erstmal vielen dank für diese hervorragende awemail 0.3.1 (include)
habe einige test gemacht und ich muss sagen beeindruckend.
da für POP 3 nur ein beispiel vorliegt habe ich diesen weiteren beispiel zusammengestellt.
anhand diesen kleinen beispiel werden folgende schritte ausgeführt:
anzeigen:
nummer der zu abzurufende mail auf den server
header ansehen
abholen:
mail abgeholt und in Datei (eml) gespeichert
mail auf den server gelöscht
natürlich werden dafür gültige anmelde informationen erwartet.
Ciao
jpd
P.S getestet wurde mit Win 7 und ubuntu 9 (32 bit) mit pop 3 Server Exchange und jana server
erstmal vielen dank für diese hervorragende awemail 0.3.1 (include)
habe einige test gemacht und ich muss sagen beeindruckend.
da für POP 3 nur ein beispiel vorliegt habe ich diesen weiteren beispiel zusammengestellt.
anhand diesen kleinen beispiel werden folgende schritte ausgeführt:
anzeigen:
nummer der zu abzurufende mail auf den server
header ansehen
abholen:
mail abgeholt und in Datei (eml) gespeichert
mail auf den server gelöscht
natürlich werden dafür gültige anmelde informationen erwartet.
Ciao
jpd
P.S getestet wurde mit Win 7 und ubuntu 9 (32 bit) mit pop 3 Server Exchange und jana server
Code: Alles auswählen
EnableExplicit
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Windows
IncludePath "..\include\awpbtools"
CompilerCase #PB_OS_Linux
IncludePath "../include/awpbtools"
CompilerEndSelect
XIncludeFile "awpop3.pbi"
XIncludeFile "awmessage.pbi"
Global *pop, *msg, msgsrc.s, attcount.i, folder.s
Define nrmail ,x
NewList atts.i()
InitNetwork() ;- für pop3 nötig
OpenConsole()
PrintN("AWPB-Tools POP3-Demo")
PrintN("")
Print("Allocation POP3 Object ... ")
*pop = AWPB_POP3_AllocatePOP3()
If *pop
PrintN("success")
Print("Allocations Message Object ... ")
*msg= AWPB_MSG_AllocateMessage()
If *msg
PrintN("success")
AWPB_POP3_SetServer(*pop, "server", 110) ;- Set Hier POP3-Server und Port eintragen
AWPB_POP3_SetLogin(*pop, "user", "password") ;- Set Hier Loginnamen und Passwort eintragen
Print("Connecting ... ")
If AWPB_POP3_Connect(*pop)
PrintN("success")
nrmail=AWPB_POP3_STAT(*pop)
PrintN("Retrieving Message : " +Str(nrmail))
PrintN ("")
For x=1 To nrmail
PrintN(AWPB_POP3_TOP(*pop, x))
msgsrc = AWPB_POP3_RETR(*pop, x)
If msgsrc
PrintN("success - Length: " + Str(Len(msgsrc)))
PrintN("Parsing Message")
*msg = AWPB_MSG_SetMailSource(*msg, msgsrc)
If *msg
If AWPB_MSG_SaveMailEML(*msg, "pop3message"+"_"+Str(x)+".eml")
PrintN("Mail saved")
If AWPB_POP3_DELE(*pop, x)
Debug "MSG :"+Str(x) +"deleted!"
PrintN("MSG :"+Str(x) +"deleted!")
Else
Debug "no del"
EndIf
Debug AWPB_POP3_GetServerResult(*pop)
Else
PrintN("mail not saved")
EndIf
Else
PrintN("SetMailSource failed")
EndIf
Else
PrintN("Fehler beim Mailabruf")
PrintN("Server replied: " + AWPB_POP3_GetServerResult(*pop))
EndIf
Next
AWPB_POP3_DisConnect(*pop)
Else
PrintN("failed")
PrintN("Server replied: " + AWPB_POP3_GetServerResult(*pop))
EndIf
AWPB_MSG_FreeMessage(*msg)
Else
PrintN("failed")
EndIf
AWPB_POP3_FreePOP3(*pop)
Else
PrintN("failed")
EndIf
PrintN("Press return to exit")
Input()
PB 5.10 Windows 7 x64
Re: SMTP / POP3 Client, eMail Encoder & Decoder
Hi cptdark,
bei smtp
wenn username und password falsch sind wird ein 550 als rückgabewert gegeben
und der server trennt die verbindung 221
es scheint als ob die routine dies nicht abfängt und versuch immer wieder helo bzw. ehlo zu senden
folge der vorgang hängt.
änlisches habe ich bei pop3 festgestellt.
falls du log oder details benötigst dann sag mir bitte was du genau brauchst.
Grüsse
jpd
bei smtp
wenn username und password falsch sind wird ein 550 als rückgabewert gegeben
und der server trennt die verbindung 221
es scheint als ob die routine dies nicht abfängt und versuch immer wieder helo bzw. ehlo zu senden
folge der vorgang hängt.
änlisches habe ich bei pop3 festgestellt.
falls du log oder details benötigst dann sag mir bitte was du genau brauchst.
Grüsse
jpd
PB 5.10 Windows 7 x64
Re: SMTP / POP3 Client, eMail Encoder & Decoder
Hallo...
Danke erstmal für das Feedback.
Ich werde am Wochenende das Interface überarbeiten (so Richtung OOP). In dem Zuge werd ich auch gleich eine Log-Funktion einbauen, deren Output ich dann brauche.
Ich denke, wird gegen Sonntag abend soweit fertig sein.
Wegen dem Fehler bei falschem Login schaue ich mal ... Danke für den Hinweis.
mfg - cptdark
Danke erstmal für das Feedback.
Ich werde am Wochenende das Interface überarbeiten (so Richtung OOP). In dem Zuge werd ich auch gleich eine Log-Funktion einbauen, deren Output ich dann brauche.
Ich denke, wird gegen Sonntag abend soweit fertig sein.
Wegen dem Fehler bei falschem Login schaue ich mal ... Danke für den Hinweis.
mfg - cptdark
Manjaro x64 * Windows 10 x64 * PureBasic 5.50
planet-RK
planet-RK
Re: SMTP / POP3 Client, eMail Encoder & Decoder
Hallo!

Ich benutze PB nämlich unter anderem gerade deshalb, weil es nicht objektorientiert ist.
Grüße, Nino
Das fände ich schade.cptdark hat geschrieben:Ich werde am Wochenende das Interface überarbeiten (so Richtung OOP).

Ich benutze PB nämlich unter anderem gerade deshalb, weil es nicht objektorientiert ist.
Grüße, Nino
Re: SMTP / POP3 Client, eMail Encoder & Decoder
Ich dachte mir das so:
bisher: (z.b., ist jetzt nur aus dem kopf)
würde zu
fändest Du das schlimm? wenn ja, könnte ich ja beide Interfaces beibehalten bzw den OOP-Teil als Erweiterung (weil ich brauche das so)
bisher: (z.b., ist jetzt nur aus dem kopf)
Code: Alles auswählen
*msg = AWPB_MSG_Alloc()
AWPB_MSG_SetSubject(*msg, "...")
AWPB_MSG_Free(*msg)
Code: Alles auswählen
*msg.AWPB_Message = CreateObject_AWPB_Message()
*msg\SetSubject("...")
*msg\Destroy()
Manjaro x64 * Windows 10 x64 * PureBasic 5.50
planet-RK
planet-RK
Re: SMTP / POP3 Client, eMail Encoder & Decoder
sollte jetzt gefixt seinjpd hat geschrieben:wenn username und password falsch sind wird ein 550 als rückgabewert gegeben
und der server trennt die verbindung 221
es scheint als ob die routine dies nicht abfängt und versuch immer wieder helo bzw. ehlo zu senden
folge der vorgang hängt.
änlisches habe ich bei pop3 festgestellt.
falls du log oder details benötigst dann sag mir bitte was du genau brauchst.
Ich habe erstmal das Debug beim senden und entfernen gesetzt. Bei Fehlern bräuchte ich bitte diese Debuggerausgabe (anonymisiert, also ohne Passwort/Login, reicht aus. es geht um den gesendeten befehl und die serverantwort). (am besten als PN) Test bei mir mit GMX hat funktioniert.
Zuletzt geändert von cptdark am 27.11.2012 22:51, insgesamt 1-mal geändert.
Manjaro x64 * Windows 10 x64 * PureBasic 5.50
planet-RK
planet-RK
Re: SMTP / POP3 Client, eMail Encoder & Decoder
Hallo!
Oben sieht das jetzt so aus, als wenn das nur minimale Unterschiede sind. Aber es ändert sich natürlich nicht nur die Syntax der Aufrufe, sondern auch die Implementation der betr. Befehle. Ich will den Code ja nicht nur benutzen, sondern auch verstehen und ggf. ändern oder erweitern (zumindest für mich privat -- weiß jetzt aus dem Kopf nicht, unter welcher Lizenz der Code steht). Und wie gesagt, ich verspüre nicht die geringste Lust oder gar Notwendigkeit, mich mit OOP zu beschäftigen.
Ich möchte aber nicht, dass Du Dir deshalb zusätzliche Arbeit machst. Wenn Du es objektorientiert brauchst, dann ist die Sache klar. Und ich habe ja in jedem Fall die momentane Nicht-OPP-Version.
Grüße, Nino
"Schlimm" ist relativ ...cptdark hat geschrieben:Ich dachte mir das so:
bisher: (z.b., ist jetzt nur aus dem kopf)
würde zuCode: Alles auswählen
*msg = AWPB_MSG_Alloc() AWPB_MSG_SetSubject(*msg, "...") AWPB_MSG_Free(*msg)
fändest Du das schlimm? wenn ja, könnte ich ja beide Interfaces beibehalten bzw den OOP-Teil als Erweiterung (weil ich brauche das so)Code: Alles auswählen
*msg.AWPB_Message = CreateObject_AWPB_Message() *msg\SetSubject("...") *msg\Destroy()
Oben sieht das jetzt so aus, als wenn das nur minimale Unterschiede sind. Aber es ändert sich natürlich nicht nur die Syntax der Aufrufe, sondern auch die Implementation der betr. Befehle. Ich will den Code ja nicht nur benutzen, sondern auch verstehen und ggf. ändern oder erweitern (zumindest für mich privat -- weiß jetzt aus dem Kopf nicht, unter welcher Lizenz der Code steht). Und wie gesagt, ich verspüre nicht die geringste Lust oder gar Notwendigkeit, mich mit OOP zu beschäftigen.
Ich möchte aber nicht, dass Du Dir deshalb zusätzliche Arbeit machst. Wenn Du es objektorientiert brauchst, dann ist die Sache klar. Und ich habe ja in jedem Fall die momentane Nicht-OPP-Version.

Grüße, Nino
Re: SMTP / POP3 Client, eMail Encoder & Decoder
Hi cptdark,
erste test mit jana server zeigen das dein fix greift!
werde am montag dann auch mit exchange testen aber es wird nicht umbedingt notwendig sein.
habe eine frage zu AWPB_SMTP_Connect procedure
nach erfolgreiche verbindung zum server sendest du ehlo, falls ehlo nicht erfolgreich wird helo nacgeschickt.
gibt es heute server die kein ehlo können?
Und wenn ich explizit helo verwenden möchte wie mache ich dass?
Danke
jpd
erste test mit jana server zeigen das dein fix greift!
werde am montag dann auch mit exchange testen aber es wird nicht umbedingt notwendig sein.
habe eine frage zu AWPB_SMTP_Connect procedure
nach erfolgreiche verbindung zum server sendest du ehlo, falls ehlo nicht erfolgreich wird helo nacgeschickt.
res = ____SMTPEhlo(*smtp, Hostname()) ; EHLO senden, falls nicht erfolgreich, das Anmelden mit
If Not res : res = ____SMTPHelo(*smtp, Hostname()) : EndIf ; HELO erneut versuchen
gibt es heute server die kein ehlo können?
Und wenn ich explizit helo verwenden möchte wie mache ich dass?
Danke
jpd
PB 5.10 Windows 7 x64
Re: SMTP / POP3 Client, eMail Encoder & Decoder
Ich weiss es nicht, da man es aber auch nicht ausschliessen kann, sollte das Programm drauf vorbereitet sein. Vielleicht möchte ja auch mal jemand einen eigenen codenjpd hat geschrieben:ibt es heute server die kein ehlo können?

Bis jetzt geht das nicht, aber da der Wunsch besteht, werde ich es einbauen. Kommt dann ein optionaler Parameter bei Connect dazu - ähnlich der Loginmethode.jpd hat geschrieben:Und wenn ich explizit helo verwenden möchte wie mache ich dass?
Intern gibt es gar nicht soviele Änderungen, da ein Zeiger auf das Messageobjekt eh immer übergeben werden muss. Es kommt halt noch ein Interface und eine DataSection dazu. (und die Internen Aufrufe bekommen sozusagen den PfäfixNino hat geschrieben:Oben sieht das jetzt so aus, als wenn das nur minimale Unterschiede sind. Aber es ändert sich natürlich nicht nur die Syntax der Aufrufe, sondern auch die Implementation der betr. Befehle. Ich will den Code ja nicht nur benutzen, sondern auch verstehen und ggf. ändern oder erweitern (zumindest für mich privat -- weiß jetzt aus dem Kopf nicht, unter welcher Lizenz der Code steht). Und wie gesagt, ich verspüre nicht die geringste Lust oder gar Notwendigkeit, mich mit OOP zu beschäftigen.
Code: Alles auswählen
*this\*vt\
mfg
Manjaro x64 * Windows 10 x64 * PureBasic 5.50
planet-RK
planet-RK