Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

Email Lesen

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

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

Re: Email Lesen

Beitrag von Rolf Ramacher » Mi, 22. Jun 2016 15:48

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: 1820
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher » Mi, 22. Jun 2016 16:43

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: 13764
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Email Lesen

Beitrag von brandelh » Mi, 22. Jun 2016 16:53

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: 1820
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher » Mi, 22. Jun 2016 17:47

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: 13764
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Email Lesen

Beitrag von brandelh » Mi, 22. Jun 2016 17:57

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: 1820
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher » Do, 23. Jun 2016 9:17

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
Foren-Administrator
Foren-Administrator
Beiträge: 12288
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Kontaktdaten:

Re: Email Lesen

Beitrag von Jan » Do, 23. Jun 2016 9:21

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
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 13764
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Email Lesen

Beitrag von brandelh » Do, 23. Jun 2016 9:39

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: 1820
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher » Fr, 24. Jun 2016 12:30

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
Programmier-Gott
Programmier-Gott
Beiträge: 1288
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Email Lesen

Beitrag von Werner_Bayern » Fr, 24. Jun 2016 12:48

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 euch

Werner

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

Re: Email Lesen

Beitrag von Rolf Ramacher » Mi, 29. Jun 2016 11:17

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: 1820
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher » Mi, 29. Jun 2016 15:52

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
Programmier-Gott
Programmier-Gott
Beiträge: 1288
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Email Lesen

Beitrag von Werner_Bayern » Mi, 29. Jun 2016 23:55

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 euch

Werner

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

Re: Email Lesen

Beitrag von Rolf Ramacher » Do, 30. Jun 2016 14:26

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: 1820
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher » Mo, 25. Jul 2016 11:39

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
Programmier-Gott
Programmier-Gott
Beiträge: 1288
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Email Lesen

Beitrag von Werner_Bayern » Di, 26. Jul 2016 0:11

Servus Rolf,

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

Werner

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

Re: Email Lesen

Beitrag von Rolf Ramacher » Di, 26. Jul 2016 10:43

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
Programmier-Gott
Programmier-Gott
Beiträge: 1288
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Email Lesen

Beitrag von Werner_Bayern » Di, 26. Jul 2016 21:38

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 euch

Werner

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

Re: Email Lesen

Beitrag von Rolf Ramacher » Mi, 27. Jul 2016 8:49

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: 1820
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher » Mi, 27. Jul 2016 17:42

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: 1820
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Kontaktdaten:

Re: Email Lesen

Beitrag von Rolf Ramacher » Do, 28. Jul 2016 11:21

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
Programmier-Gott
Programmier-Gott
Beiträge: 1288
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Email Lesen

Beitrag von Werner_Bayern » Fr, 29. Jul 2016 0:01

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 euch

Werner

Antworten