Seite 1 von 2

Email Lesen

Verfasst: Mi, 18. Mai 2016 9:14
von Rolf Ramacher
guten Morgen zusammen,

ich lese emails mit Hilfe von Marshall Soft- klappt und funkt. gut. Nur eines.
es funkt. bisher nur wenn emails im Posteingang bereits vorhanden sind. Ich möchte aber das Programm starten und das dann eingehende emails erkannt und verarbeitet werden.

xseegetemailcount
liefert die gesamte anzahl der emails
starte ich das Programm - kopiere die email hinein
die Variable nNbrMsg bleibt bei Null

Code: Alles auswählen

	do while lWeiter = .t.
		nNbrMsg:=XseeGetEmailCount(0)
		nMsgNbr:=1

	  * decode downloaded email ?
	   if nDecodeFlag = TRUE
	    ? "Email will be decoded"
	  	else
	    * do not decode downloaded files !
	    ? "Email will NOT be decoded!"
	    nCode = XseeIntegerParam(0, SEE_RAW_MODE, 1)
	   endif
msgbox(var2lchar(nNbrMsg))

If nNbrmsg >0
		For i = 1 to nNbrMsg
			If ((nMsgNbr>0) .AND. (nMsgNbr <= nNbrMsg))
 
                         .... hier macht er seinen Teil.
                        Endif
			nMsgNbr++
		Next i
Else
		nNbrMsg:=XseeGetEmailCount(0)
		nMsgNbr:=1
msgbox(var2lchar(nNbrMsg))
Endif
msgbox("nach endif")

		sleep(1000)
	enddo


Re: Email Lesen

Verfasst: Mi, 18. Mai 2016 9:30
von brandelh
Mit Marshall kenn ich mich nicht aus, aber je nach Zugang (POP3 oder IMAP) muss man auf dem Server aktiv nachfragen ob was neues da ist.
Du schreibst, dass du die vorhandenen erkennst aber keine neuen, das hört sich nach Cache an, es müsste ein refresh oder "neue eMail suchen" Befehl geben.

Re: Email Lesen

Verfasst: Mi, 18. Mai 2016 9:44
von Scarmo
Hallo Rolf

Oder einfach einen Thread erstellen, welcher nichts anderes macht wie alle 60 Sekunden nach neuen Emails schaut.

Gruss
Marco

Re: Email Lesen

Verfasst: Mi, 18. Mai 2016 10:30
von Herbert
5 bis 10 Minuten genügen auch

Re: Email Lesen

Verfasst: Mi, 18. Mai 2016 11:50
von Tom
Das ist ein Klassiker für SetTimerEvent. Dann kann man sich die DO ... WHILE-Schleife auch sparen. BTW, "nDecodeFlag" wird nach meinem Dafürhalten nicht in der Funktion ermittelt, sondern steht offenbar schon vorher fest. Das dürfte nicht funktionieren. BTW2: "DO WHILE lWeiter = .T." ist syntaktisch richtig, aber bei logischen Variablen genügt "DO WHILE lWeiter".

Re: Email Lesen

Verfasst: Do, 19. Mai 2016 14:20
von Rolf Ramacher
Hallo Tom,

kurze Nachfrage: Der SetTimerEvent steht dann in der Proc Main. SetTimerEvent rufe ich dann diese Function auf, die das ganze abrufen der email und verarbeiten durchführt
Ist das so richtig ?

Re: Email Lesen

Verfasst: Do, 19. Mai 2016 14:45
von Tom
Hallo, Rolf.

Du kannst den Aufruf platzieren, wo Du möchtest - in der MAIN() bietet sich allerdings an. Es sähe dann wie folgt aus:

Code: Alles auswählen

SetTimerEvent(<nHundertstelSekunden>,<bAufrufcodeblock>)
also beispielsweise

Code: Alles auswählen

SetTimerEvent(500,{||CheckMails()})
Was dazu führen würde, dass die Funktion "CheckMails" alle 5 Sekunden aufgerufen wird. Darin bräuchtest Du dann keine endlose DO-WHILE-Schleife mehr, ansonsten könnte sie - vorausgesetzt, sie funktioniert - so bleiben, wie sie derzeit ist.

Achtung: Es darf immer nur ein Timer-Event geben; der nächste Aufruf killt den vorigen. Im Prinzip ist das eine Kapselung des normalen Multithreadings (arbeitet intern auch so), mit dem Unterschied, dass es eben einen Timer gibt. Den kann man in Threads allerdings auch selbst verwirklichen. Wenn man mehrere Funktionalitäten innerhalb desselben Timers benötigt, fasst man sie in einer Funktion zusammen.

Edit: Es läuft auch in einem Thread. Das bedeutet, dass Du PRIVATEs oder geöffnete Workareas nicht siehst. Du musst Dich um derlei innerhalb der Funktion kümmern.

Re: Email Lesen

Verfasst: Do, 19. Mai 2016 14:46
von Werner_Bayern
Servus Rolf,

das sieht etwas wirr aus. Ich mache das so:

Code: Alles auswählen

oStatus2:setCaption("Suche nach Nachrichten...")
nNbrMsg = XseeGetEmailCount(0)
if nNbrMsg < 0
   oFehler:setCaption(ShowError(nNbrMsg))
   return .f.
else
   oStatus2:setCaption(ltrim(str(nNbrMsg)) + " Nachricht(en) vorhanden.")
   If nNbrMsg = 0
      oFehler:setCaption("Schliesse Verbindung.")
      oStatus1:setCaption("Keine neuen Mails vorhanden!")
      oStatus2:setCaption("")
      nCode = XseeClose(0)
      nCode = XseeRelease()
      return .t.
endif
// Hier Mails holen mit XseeGetEmailFile!

Re: Email Lesen

Verfasst: Do, 19. Mai 2016 14:52
von Werner_Bayern
Servus Rolf,

ein fixer Timer ist hier evtl. gefährlich, wenn die Abfragen in der Zeit nicht fertig werden, oder z. B. eine Wartezustand (Fehlermeldung etc.) erzeugt wird.
Dann wird die Funktion evtl. nochmal aufgerufen, obwohl die vorherige Abfrage noch läuft.
Ich mache das daher mit einem eigenen Thread und frag immer vor dem nächsten Aufruf auf oThread:active ab. Ist ja sehr einfach zu realisieren - wie Tom auch schon indirekt empfiehlt.

Re: Email Lesen

Verfasst: Do, 19. Mai 2016 15:10
von Tom
Ich mache das mit Get-Set-Funktionen:

Code: Alles auswählen

SetTimerEvent(100,{||MacheIrgendWas()})

FUNCTION MacheIrgendWas()
IF IchMacheSchonIrgendwas()
  RETURN NIL
ENDIF
IchMacheSchonIrgendwas(.T.)
... Code ...
IchMacheSchonIrgendwas(.F.)
RETURN NIL

FUNCTION IchMacheSchonIrgendwas(lSet)
STATIC lIchMacheWas := .F.
IF PCOUNT()>0
 lIchMacheWas := lSet
ENDIF
RETURN lIchMacheWas

Re: Email Lesen

Verfasst: Sa, 28. Mai 2016 12:21
von Rolf Ramacher
Guten Morgen Werner,

so sieht die PRG jetzt aus nach deinem vorschlag, aber jetzt passiert gar nichts. ergibt zwar Meldung ab, aber kein Download und kein Löschen der email

Code: Alles auswählen

	* connect to POP3 server
	? "Connecting to POP3 server " + LTrim(Str(nProxyPort))
	nCode = XseePop3ConnectSSL(0, nProxyPort, nPop3Port, @cPop3Server, @cPop3User, @cPop3Pass, Chr(0))

	if nCode < 0
	  ShowError(nCode)
	  return
	endif  
	* get # messages waiting
	? "Getting message status..."

	  * decode downloaded email ?
	   if nDecodeFlag = TRUE
	    ? "Email will be decoded"
	  	else
	    * do not decode downloaded files !
	    ? "Email will NOT be decoded!"
	    nCode = XseeIntegerParam(0, SEE_RAW_MODE, 1)
	   endif


	do while lWeiter = .t.
		nNbrMsg:=XseeGetEmailCount(0)
msgbox(var2lchar(nNbrMsg))
		For i = 1 to nNbrMsg
		   	? "Reading Message ", LTRIM(STR(nMsgNbr)), ", please wait..."
		   	nCode = XseeGetEmailFile(0, nMsgNbr, @cEmailName, @cEmailDir, @cAttachDir)
		   	if nCode < 0
		      	ShowError(nCode)
		*      	return
	   		endif
		    ? "Saved as ", LTRIM(cEmailName)
	   
	  		  * display "From:" header
		   	cBuffer = SPACE(256)
		   	nCode = XseeGetHeader(0, SEE_GET_FROM, @cBuffer, 255)
		  	   if nCode > 0
		  	   	 ? "From: " + Left(cBuffer, nCode)
		  	   endif
				cHeader:=cBuffer
	
		    * display "Subject:" header
		    	cBuffer = SPACE(256)
			    nCode = XseeGetHeader(0, SEE_GET_SUBJECT, @cBuffer, 255)
	   	   if nCode > 0 
			      ? "Subject: " + Left(cBuffer, nCode)
			   endif 
				cBetreff:=cBuffer
		
	    		* get list of attachment file names
		   	cBuffer = SPACE(1024)
	  			nCode = XseeDebug(0, SEE_GET_ATTACH_NAMES, @cBuffer, 1024)
	    		if nCode > 0
		      	? "Attachment names are:"
	   	  	 ? Left(cBuffer, nCode)
		    	endif
		    * get list of attachment file types
		   	cBuffer = SPACE(1024)
		  		nCode = XseeDebug(0, SEE_GET_ATTACH_TYPES, @cBuffer, 1024)
		    	if nCode > 0
		      	? "Attachment types are:"
		      	? Left(cBuffer, nCode)
		    	endif       
				Do Case
					Case At("visulution",cUser) >0
				
					// email-empfänger rauslesen ??
						If substr(cBetreff,1,5) = "12345"
							aDir:=Directory((cAttachDir+"\*.*") )
							For z = 1 to Len(aDir)
								cFile:=aDir[z][1]
								nPos:=At("-",cFile) 
								cNeufile:=substr(cFile,nPos+1)
								Copy File( (cAttachDir+"\"+cfile)) to (cImport+"\"+cNeufile )
							Next z
							lLoesch:=.t.
						Else
							lLoesch:=.f.
						Endif
						FileDelete( (cAttachDir+"\*.*") )

			
					Case At("transfer",cUser) >0
						// abfrage nach KD-Nr. im Betreff
						If substr(cBetreff,1,5) = "12345"
							aDir:=Directory((cAttachDir+"\*.*") )
							For z = 1 to Len(aDir)
								cFile:=aDir[z][1]
								nPos:=At("-",cFile) 
								cNeufile:=substr(cFile,nPos+1)
								Copy File( (cAttachDir+"\"+cfile)) to (cImport+"\"+cNeufile )
							Next z
							lLoesch:=.t.
						Else
							lLoesch:=.f.
						Endif
						FileDelete( (cAttachDir+"\*.*") )
	
					Case At("inventur",cUser) >0
							aDir:=Directory((cAttachDir+"\*.*") )
							For z = 1 to Len(aDir)
								cFile:=aDir[z][1]
								nPos:=At("-",cFile) 
								cNeufile:=substr(cFile,nPos+1)
								Copy File( (cAttachDir+"\"+cfile)) to (cVerz+"\"+cNeufile )
							Next z
							lLoesch:=.t.
							FileDelete( (cAttachDir+"\*.*") )
				EndCase

		      * uncomment the following to delete the email
		      *** deleting message from server
				If lLoesch = .t.
		      	nCode = XseeDeleteEmail(0, nNbrMsg)
	      	 ? "Message ",  LTRIM(STR(nNbrMsg)), " deleted from server."
				Endif
		Next i

		lLoesch:=.f.
		If File("emaillesen.txt")
			lWeiter:=.f.
		Endif
		sleep(1000)
	enddo

	? "Closing connection."
	nCode = XseeClose(0)
	nCode = XseeRelease()
	FErase("emaillesen.txt")
return

Re: Email Lesen

Verfasst: Mi, 08. Jun 2016 15:25
von Rolf Ramacher
Hi zusammen
ich komme irgendwie nicht so ganz weiter. Hier wie der Vorschlag von Werner. Aber er bleibt bei einer email stehen. sobald neue email reinkommen. beim ersten mal liest er die richtige Anzahl der vorhandenen emails. danach bleibt er bei Null

ich kann aber nicht erkennen warum ?

Code: Alles auswählen

	do while lWeiter = .t.
		nNbrMsg:=XseeGetEmailCount(0)
msgbox(var2lchar(nNbrMsg))
		For i = 1 to nNbrMsg
				lLoesch := .f.

		   	? "Reading Message ", LTRIM(STR(nNbrMsg)), ", please wait..."
		   	nCode = XseeGetEmailFile(0, nNbrMsg, @cEmailName, @cEmailDir, @cAttachDir)
		   	if nCode < 0
		      	ShowError(nCode)
		*      	return
	   		endif
		    ? "Saved as ", LTRIM(cEmailName)
	   
	  		  * display "From:" header
		   	cBuffer = SPACE(256)
		   	nCode = XseeGetHeader(0, SEE_GET_FROM, @cBuffer, 255)
		  	   if nCode > 0
		  	   	 ? "From: " + Left(cBuffer, nCode)
		  	   endif
				cHeader:=cBuffer
	
		    * display "Subject:" header
		    	cBuffer = SPACE(256)
			    nCode = XseeGetHeader(0, SEE_GET_SUBJECT, @cBuffer, 255)
	   	   if nCode > 0 
			      ? "Subject: " + Left(cBuffer, nCode)
			   endif 
				cBetreff:=cBuffer
		
	    		* get list of attachment file names
		   	cBuffer = SPACE(1024)
	  			nCode = XseeDebug(0, SEE_GET_ATTACH_NAMES, @cBuffer, 1024)
	    		if nCode > 0
		      	? "Attachment names are:"
	   	  	 ? Left(cBuffer, nCode)
		    	endif
		    * get list of attachment file types
		   	cBuffer = SPACE(1024)
		  		nCode = XseeDebug(0, SEE_GET_ATTACH_TYPES, @cBuffer, 1024)
		    	if nCode > 0
		      	? "Attachment types are:"
		      	? Left(cBuffer, nCode)
		    	endif       
  --- hier plausibilitätsprüfungen

		      * uncomment the following to delete the email
		      *** deleting message from server
				If lLoesch = .t.
		      	nCode = XseeDeleteEmail(0, nNbrMsg)
	      	 ? "Message ",  LTRIM(STR(nNbrMsg)), " deleted from server."
				Endif
		Next i

		lLoesch:=.f.
		If File("emaillesen.txt")
			lWeiter:=.f.
		Endif
		sleep(1000)
	enddo



Re: Email Lesen

Verfasst: Do, 09. Jun 2016 1:35
von Werner_Bayern
Servus Rolf,

es fehlt noch einiges an Code, z. B. Dein XseeSetProxySSL().

Du setzt lWeiter nach dem ersten Durchlauf auf .f., kann es daran liegen?

Re: Email Lesen

Verfasst: Do, 09. Jun 2016 8:25
von Rolf Ramacher
Guten Morgen Werner,

lWeiter wird auf .f. wenn die Datei "emaillesen.txt" existiert. dann wird das programm beendet. die xseeset - Funktionen habe ich weiter vorher definiert auch wie decoderflag auf .t. vor der do while schleife.
oder müssen die da auch rein. ?

vor der do while schleife

Code: Alles auswählen

	nCode = XseeAttach(1,  SEE_KEY_CODE)
	if nCode < 0
	  ? "Key code = " + LTRIM(STR(SEE_KEY_CODE))
	  ? "Error code = " + LTRIM(STR(nCode)) + ": Cannot attach SEE (check key code)"
	  return
	endif
	* registered version always returns 999
	if nCode <> 999
	  ? Ltrim(Str(nCode)) + " days remaining for evaluation"
	endif
	* enable SEE logging
	nCode = XseeStringParam(0,SEE_LOG_FILE, @cLogName)
	* decode unnamed attachments (if any) 
	nCode = XseeIntegerParam(0, SEE_DECODE_UNNAMED, 1)
	* prefix attachment filenames with "101-", "102-", etc.
	nCode = XseeIntegerParam(0, SEE_FILE_PREFIX, 101)
	* direct SEE to make an undecoded copy when seeGetEmailFiles is called
	* (this applies to non-raw mode only)
	nCode = XseeIntegerParam(0, SEE_SET_RAWFILE_PREFIX, Asc("_") )

	* pass POP3 proxy server info to SEE
	Kode = XseeSetProxySSL(0, 1, @cProxyDir, @cProxyCert, @cProxyExe)
	if Kode < 0 
	  ShowError(Kode)
	  return
	else
	  ? "Proxy parameters set"
	endif

	* connect to POP3 server
	? "Connecting to POP3 server " + LTrim(Str(nProxyPort))
	nCode = XseePop3ConnectSSL(0, nProxyPort, nPop3Port, @cPop3Server, @cPop3User, @cPop3Pass, Chr(0))

	if nCode < 0
	  ShowError(nCode)
	  return
	endif  
	* get # messages waiting
	? "Getting message status..."

	  * decode downloaded email ?
	   if nDecodeFlag = TRUE
	    ? "Email will be decoded"
	  	else
	    * do not decode downloaded files !
	    ? "Email will NOT be decoded!"
	    nCode = XseeIntegerParam(0, SEE_RAW_MODE, 1)
	   endif


Re: Email Lesen

Verfasst: Sa, 11. Jun 2016 15:18
von Werner_Bayern
Servus Rolf,

der Fehler ist relativ einfach:

Code: Alles auswählen

For i = 1 to nNbrMsg
            lLoesch := .f.

            ? "Reading Message ", LTRIM(STR(nNbrMsg)), ", please wait..."
            nCode = XseeGetEmailFile(0, nNbrMsg, @cEmailName, @cEmailDir, @cAttachDir)
Du liest immer nur die letzte Mail mit nNbrMsg. Hier gehört i rein:

Code: Alles auswählen

nCode = XseeGetEmailFile(0, i, @cEmailName, @cEmailDir, @cAttachDir)

Re: Email Lesen

Verfasst: Sa, 11. Jun 2016 15:42
von Werner_Bayern
Hier der überarbeitete Code, der funktioniert:

Code: Alles auswählen

    do while lWeiter = .t.
      nNbrMsg:=XseeGetEmailCount(0)
      For i = 1 to nNbrMsg

            ? "Reading Message ", LTRIM(STR(i)), ", please wait..."
            nCode = XseeGetEmailFile(0, nNbrMsg, @cEmailName, @cEmailDir, @cAttachDir)
            if nCode < 0
               ? ShowError(nCode)
               return
            endif
          ? "Saved as ", LTRIM(cEmailName)

             * display "From:" header
            cBuffer = SPACE(256)
            nCode = XseeGetHeader(0, SEE_GET_FROM, @cBuffer, 255)
              if nCode > 0
                  ? "From: " + Left(cBuffer, nCode)
              endif

          * display "Subject:" header
             cBuffer = SPACE(256)
             nCode = XseeGetHeader(0, SEE_GET_SUBJECT, @cBuffer, 255)
            if nCode > 0
               ? "Subject: " + Left(cBuffer, nCode)
            endif

             * get list of attachment file names
            cBuffer = SPACE(1024)
              nCode = XseeDebug(0, SEE_GET_ATTACH_NAMES, @cBuffer, 1024)
             if nCode > 0
               ? "Attachment names are:"
               ? Left(cBuffer, nCode)
             endif
          * get list of attachment file types
            cBuffer = SPACE(1024)
              nCode = XseeDebug(0, SEE_GET_ATTACH_TYPES, @cBuffer, 1024)
             if nCode > 0
               ? "Attachment types are:"
               ? Left(cBuffer, nCode)
             endif
//  --- hier plausibilitätsprüfungen

            *** deleting message from server
            If lLoesch = .t.
               nCode = XseeDeleteEmail(0, i)
             ? "Message ",  LTRIM(STR(i)), " deleted from server."
            Endif
      Next i

      lLoesch:=.f.
      If File("emaillesen.txt")
         lWeiter:=.f.
      Endif
      sleep(1000)
   enddo

nCode = XseeClose(0)
nCode = XseeRelease()
return
Achte auf die i ersetzt bei nNbrMsg.

Re: Email Lesen

Verfasst: Sa, 11. Jun 2016 20:55
von Hans Zethofer
jetzt hast wieder die falsche Var drinnen [-X

Code: Alles auswählen

nCode = XseeGetEmailFile(0, nNbrMsg, @cEmailName, @cEmailDir, @cAttachDir)

Re: Email Lesen

Verfasst: Sa, 11. Jun 2016 23:20
von Werner_Bayern
Danke (mein Testprogramm für Rolf schaut anders aus...) 8)

Re: Email Lesen

Verfasst: Mo, 20. Jun 2016 15:16
von Rolf Ramacher
Hallo Werner

so ich habe es jetzt geändert. ich habe es nochmal geprüft sind 2 emails vorhanden werden beide gelesen und auch gelöscht. Aber wenn ich das Programm starte und danach eine email reinkommt. bleibt
nNbrmsg auf Null stehen

ist noch irgendwo etwas falsch??

Code: Alles auswählen

	do while lWeiter = .t.
		nNbrMsg:=XseeGetEmailCount(0)
msgbox(var2lchar(nNbrMsg))
		For i = 1 to nNbrMsg
				lLoesch := .f.

		   	? "Reading Message ", LTRIM(STR(i)), ", please wait..."
		   	nCode = XseeGetEmailFile(0, i, @cEmailName, @cEmailDir, @cAttachDir)
		   	if nCode < 0
		      	ShowError(nCode)
		*      	return
	   		endif
		    ? "Saved as ", LTRIM(cEmailName)
	   
	  		  * display "From:" header
		   	cBuffer = SPACE(256)
		   	nCode = XseeGetHeader(0, SEE_GET_FROM, @cBuffer, 255)
		  	   if nCode > 0
		  	   	 ? "From: " + Left(cBuffer, nCode)
		  	   endif
				cHeader:=cBuffer
	
		    * display "Subject:" header
		    	cBuffer = SPACE(256)
			    nCode = XseeGetHeader(0, SEE_GET_SUBJECT, @cBuffer, 255)
	   	   if nCode > 0 
			      ? "Subject: " + Left(cBuffer, nCode)
			   endif 
				cBetreff:=cBuffer
		
	    		* get list of attachment file names
		   	cBuffer = SPACE(1024)
	  			nCode = XseeDebug(0, SEE_GET_ATTACH_NAMES, @cBuffer, 1024)
	    		if nCode > 0
		      	? "Attachment names are:"
	   	  	 ? Left(cBuffer, nCode)
		    	endif
		    * get list of attachment file types
		   	cBuffer = SPACE(1024)
		  		nCode = XseeDebug(0, SEE_GET_ATTACH_TYPES, @cBuffer, 1024)
		    	if nCode > 0
		      	? "Attachment types are:"
		      	? Left(cBuffer, nCode)
		
   	endif       
		      * uncomment the following to delete the email
		      *** deleting message from server
				If lLoesch = .t.
		      	nCode = XseeDeleteEmail(0, i)
	      	 ? "Message ",  LTRIM(STR(nNbrMsg)), " deleted from server."
				Endif
		Next i

		lLoesch:=.f.
		If File("emaillesen.txt")
			lWeiter:=.f.
		Endif
		sleep(1000)
	enddo

	? "Closing connection."
	nCode = XseeClose(0)
	nCode = XseeRelease()
	FErase("emaillesen.txt")


Re: Email Lesen

Verfasst: Mo, 20. Jun 2016 15:31
von brandelh
So wie ich das sehe wird die Schleife verlassen sobald die Datei "emaillesen.txt" vorhanden ist.
Dann wird die Datei gelöscht.

Rufst du diese Funktion alle z.b. 5 Minuten auf, sollte das so funktionieren wie du willst, vorausgesetzt die Infos von "emaillesen.txt" werden verarbeitet, das hab ich jetzt nicht geprüft.

Re: Email Lesen

Verfasst: Mo, 20. Jun 2016 15:39
von Rolf Ramacher
Hi Hubert,

nein das hast du wohl falsch verstanden. Was in emaillesen.txt drin steht ist egal. Diese Datei dient nur, um die Applikation zu beenden. Das Programm läuft ja - nur die Varialbe bleibt auf Null stehen.
Das ist was ich nicht verstehe.

Re: Email Lesen

Verfasst: Mo, 20. Jun 2016 16:34
von Werner_Bayern
Servus Rolf,

wie bereits telefonisch besprochen, ich hab in meiner Endlosschleife auch das Verbinden und Schließen des Mailservers mit drin, so funktioniert es seit Jahren. Teste das bitte mal bei Dir.

Re: Email Lesen

Verfasst: Di, 21. Jun 2016 9:11
von Rolf Ramacher
guten Morgen @Werner

wenn ich dieses

Code: Alles auswählen

	nCode = XseeClose(0)
	nCode = XseeRelease()

	Kode = XseeSetProxySSL(0, 1, @cProxyDir, @cProxyCert, @cProxyExe)
	if Kode < 0 
	  ShowError(Kode)
	  return
	else
	  ? "Proxy parameters set"
	endif

	* connect to POP3 server
	? "Connecting to POP3 server " + LTrim(Str(nProxyPort))
	nCode = XseePop3ConnectSSL(0, nProxyPort, nPop3Port, @cPop3Server, @cPop3User, @cPop3Pass, Chr(0))

	if nCode < 0
	  ShowError(nCode)
	  return
	endif  
	* get # messages waiting
	? "Getting message status..."

	  * decode downloaded email ?
	   if nDecodeFlag = TRUE
	    ? "Email will be decoded"
	  	else
	    * do not decode downloaded files !
	    ? "Email will NOT be decoded!"
	    nCode = XseeIntegerParam(0, SEE_RAW_MODE, 1)
	   endif


innerhalb der Do while-Schleife aber nach dem
Next i

einfüge - wird das Programm beendet. Sieht das bei dir anders aus? Was muss ich machen?

Re: Email Lesen

Verfasst: Di, 21. Jun 2016 15:53
von Rolf Ramacher
Ich glaube ich habs.
danke

Re: Email Lesen

Verfasst: Mi, 22. Jun 2016 12:45
von Werner_Bayern
Bitte :wink:

Das heißt, es läuft jetzt und Du bekommst auch zwischenzeitlich neue Mails?