Email Lesen

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

Hallo Werner

ja sieht gut aus. bin aber noch beim testen. Hierbei erhalte ich 2 arten von email-absendern
1x mit name davor und dann die email-adresse. z.b. "Rolf.Ramacher"< - email-adresse.de >
ich bekommen aber das Zeichen ">" nicht weg
die andere ist korrekt kein Problem

Code: Alles auswählen

						nStartPos:= AT("<",cHeader) 
						If nStartPos >0
							nEndPos:=At(">",cHeader)
							cAbsEmail:=substr(cHeader,nStartPos+1,nEndPos-1)
						Else
							cAbsEmail:=alltrim(cHeader)
						Endif
cHeader ist auch schon alltrim
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

ich bin am verzweifeln.

ich bin dabei die Absende email zu identifizieren ob diese zulässig ist oder nicht. diese hat immer 1 Leerstelle mehr als von mir vorgegebene mit alltrim - Rtim funtk. alles nicht.
auch habe ich beim lesen der email-adresse den Buffer auf 255 gesetzt nichts..
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von brandelh »

SubStr( <cString>, <nStart>, [<nCount>]) --> cSubString

Substr will in nCount die Anzahl Zeichen, die du entfernen möchtest, du gibst aber den Position im kompletten String an !
Entweder vorteilen oder den Startwert abziehen ;-)

so sollte das stimmen, aber es ist heiß hier ... also ohne Gewähr ;-)

Code: Alles auswählen

cAbsEmail:=substr(cHeader,nStartPos+1,nEndPos-1-nStartPos)
Gruß
Hubert
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

so ich habe es wohl gelöst - beim lesen der email wird immer 1 Zeichen mehr gelesen. alltrim nützt hierbei auch nichts. Len-1 dann gehts.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von brandelh »

Rolf Ramacher hat geschrieben:so ich habe es wohl gelöst - beim lesen der email wird immer 1 Zeichen mehr gelesen. alltrim nützt hierbei auch nichts. Len-1 dann gehts.
sieh dir mal meinen Beitrag zuvor an ;-)

"<V.N@gmx.de>" => ich zähle 12 Zeichen insgesamt

nStartPos:= AT("<",cHeader) => nStartPos = 1
nEndPos:=At(">",cHeader) => nEndPos = 12 das letzte Zeichen

erstes Zeichen der eMail: nStartPos+1 => 2 stimmt
letztes Zeichen der eMail im String ! nEndPos-1 => 11 stimmt auch, aber Länge ist 10 1

nLen := nEndPos-1 - nStartPos => 10

wenn vor dem "<" noch ein Name stehen würde, würde ein einfaches -1 nicht reichen, dann muss man das wie beschrieben dynamisch berechnen.
Gruß
Hubert
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

guten Morgen - Hubert

danke der Hinweis war gut. Nur ohne die "-1"

ich denke jetzt scheint alles OK zu sein.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Jan »

Ich würde da verutlich aus purer Bequemlichkeit einfach ein StrTran(cMailadresse, ">", "") drauf laufen lassen. Dann muß ich nicht mit Längen und Positionen rumrechnen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von brandelh »

Jan, so einfach ist das nicht, die exakte eMail-Adresse steht zwischen "<" und ">", aber davor kann ein Alias stehen: "Donald <d.duck@m.com>" ...

eventuell sortiert SEE das aus, aber verlassen würde ich mich nicht darauf.
Gruß
Hubert
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

so ich wollte das Modul auf meinem Cloud-Bereich laufen lassen. keine Änderung im prg oder stunnel vorgenommen
windows Server 2012 R2

Code: Alles auswählen

	Kode = XseeSetProxySSL(0, 1, @cProxyDir, @cProxyCert, @cProxyExe)
aber hierbei erhält er den Error-Code -77
d.h. kann kein proxy wohl aufbauen. Hat jemand eine Idee? Internetverbindung ist sauber
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Email Lesen

Beitrag von Werner_Bayern »

Rolf Ramacher hat geschrieben:aber hierbei erhält er den Error-Code -77
d.h. kann kein proxy wohl aufbauen. Hat jemand eine Idee? Internetverbindung ist sauber
Email-Port in der Firewall offen?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

Hallo zusammen,
@Werner

Code: Alles auswählen

	Kode = XseeSetProxySSL(0, 1, @cProxyDir, @cProxyCert, @cProxyExe)
msgbox(var2lchar(kode))
hierbei kommt ein - Minus Wert zurück. deshalb steigt er aus. Windows-Server 2012 R2 Win 10 - liegt es an der Windowsfirewall ? mein Cloud-Anbieter konnte mir nicht helfen. Hat jemand von euch eine Idee warum das geblockt wird ????
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

wo finde ich den Port denn in der Firewall. ich sehe ihn nicht. muss ich eine ausgehende Regel hierfür starten ??
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Email Lesen

Beitrag von Werner_Bayern »

Servus Rolf,

sorry, hab ihn mit dem Fehlercode -72 verwechselt, den hatte ich neulich mal auf einem Server, der total abgeschottet war (Firewall).

Ein Blick in die Doku von see4xb zeigt: -77 steht für SEE_NO_SUCH_PATH.

Also ganz einfach, prüfe dein PROXYDIR!
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

Hallo Werner

danke das wars. funkt.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

Hallo zusammen,

ich habe ein problem beim versenden der email - das erste mal alles astrein sauber . das 2.te mal senden
kommt Fehlercode -36 connecting zum proxy-server

??????

hier ist aber auch nichts verändert worden.

Code: Alles auswählen

? "*** MailSSL ***"
? "[Sends an email message]"

? "Proxy Port : " + LTrim(Str(nProxyPort))
? "        To : " + cSmtpTo
? "  LocalDir : " + cLocalDir
? "  Msg File : " + cMsgFile
? "   Subject : " + cSubject
? "Attachment : " + cAttachment
? "      User : " + cSmtpUser

* has the programmer edited the email parameter strings?
if nSmtpPort = 0
  ? "Must set SMTP port (normally 465 or 587)"
  return 
endif
* has the programmer edited the email parameter strings?
if (Left(cSmtpServer, 1) = "!") .OR. (Left(cSmtpUser, 1) = "!") .OR. (Left(cSmtpUser, 1) = "!") .OR. (Left(cSmtpPass, 1) = "!")
  ? "The PROGRAMMER strings in this program must be edited before running!"
  return
endif

* attach SEE32.DLL
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)

* check files for existence
nCode = CheckFileList(cMsgFile)
if nCode = 0
	if File("fehler.log")
		cLog:=memoread("fehler.log")
	endif
	cLog+=alltrim(str(nCode))+" checkfile"+CRLF
	memowrit("fehler.log",cLog)
  return
endif

nCode = CheckFileList(cAttachment)
if nCode = 0

	if File("fehler.log")
		cLog:=memoread("fehler.log")
	endif
	cLog+=alltrim(str(nCode))+" checkfileliste attach"+CRLF
	memowrit("fehler.log",cLog)

  return
endif

* Enable quoting
nCode = XseeIntegerParam(0, SEE_QUOTED_PRINTABLE, QUOTED_PLAIN)
* connect to SMTP server

* pass SMTP proxy server info to SEE 
Kode = XseeSetProxySSL(0, nFlags, @cProxyDir, @cProxyCert, @cProxyExe)
if Kode < 0 
	if File("fehler.log")
		cLog:=memoread("fehler.log")
	endif
	cLog+=alltrim(str(nCode))+" SMTP Proxy-fehler"+CRLF
	memowrit("fehler.log",cLog)


  ShowError(Kode)
  return
else
  ? "Proxy parameters set"
endif

? "Connecting to proxy server on port " + LTrim(Str(nProxyPort))
nCode = XseeSmtpConnectSSL(0, nProxyPort, nSmtpPort, @cSmtpServer, @cSmtpUser, @cSmtpPass, @cSmtpFrom, @cSmtpReply, Chr(0))
if nCode < 0
	if File("fehler.log")
		cLog:=memoread("fehler.log")
	endif
	cLog+=alltrim(str(nCode))+" Proxy connecting"+CRLF
	memowrit("fehler.log",cLog)


  ShowError(nCode)
  return
endif

* send email message
? "Sending email to " + cSmtpTo
* prefix message filename with '@' character
cMsgFile = "@" + cMsgFile + Chr(0)
nCode = XseeSendEmail(0,@cSmtpTo,@cCClist,@cBCClist,@cSubject,@cMsgFile,@cAttachment)
if nCode < 0
  ShowError(nCode)
  return
else
  ? "Email has been sent."
endif
? "Closing connection."
nCode = XseeClose(0)
nCode = XseeRelease()

Ferase("empf_mail.txt")
aFile:=Directory(cVerz+"\export\*.csv")
For i = 1 to Len(aFile)
	cSendfile:=aFile[i][1]
	cZeit:=dtos(date())
	cZeit+=Time()
	FRename( (cVerz+"\export\"+cSendfile), (cVerz+"\export\"+cSendfile+".sen"))
Next i

aFile:=Directory(cVerz+"\export\*.dbf")
For i = 1 to Len(aFile)
	cSendfile:=aFile[i][1]
	cZeit:=dtos(date())
	cZeit+=Time()
	FRename( (cVerz+"\export\"+cSendfile), (cVerz+"\export\"+cSendfile+cZeit+".sen"))
Next i
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Email Lesen

Beitrag von Werner_Bayern »

Servus Rolf,

in welcher Zeile kommt denn die Fehlermeldung? Schon mal alles im Debugger angeschaut?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

Hallo Werner

der Fehler tritt hierbei auf
Code -.36

Code: Alles auswählen

nCode = XseeSmtpConnectSSL(0, nProxyPort, nSmtpPort, @cSmtpServer, @cSmtpUser, @cSmtpPass, @cSmtpFrom, @cSmtpReply, Chr(0))
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Email Lesen

Beitrag von Werner_Bayern »

Servus Rolf,

ich hab aus Deinem Code ein Testprogramm gemacht, läuft mehrmals einwandfrei durch. Was auffällt:

Code: Alles auswählen

* pass SMTP proxy server info to SEE
Kode = XseeSetProxySSL(0, nFlag, @cProxyDir, @cProxyCert, @cProxyExe)
Was übergibst Du in nFlag?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

Hallo Werner

Code: Alles auswählen

nFlags = 1                     && 1 = display Stunnel icon on the taskbar
war schon so im original enthalten.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

Hi Werner

ich bin zur Zeit vollkommen verwirrt. mal läufts mal läuft es nicht. es soll einAustausch zwischen client- und meinem cloud server gehen. es muss irgendwie mit der email-adresse zusammen hängen
den ganzen Tag hat es lokal funkt. nicht immer auf cloud. jetzt lokal auch nicht mehr.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher »

Hi Werner

ich glaube ich habe die Ursache gefunden. Wenn ich SSL-Tunnel bereits durch empfangen nutze, kann ich vermutlich SSL-Tunnel nicht gleichzeitig zum versenden nutzen?
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Email Lesen

Beitrag von Werner_Bayern »

Servus Rolf,

doch, das müsste gehen, dafür gibt es ja die Channel-Number in xsee. Startest Du stunnel jeweils extra?

Ansonsten: Einfach testen.
es grüßt

Werner

<when the music is over, turn off the lights!>
Antworten