Seite 1 von 2

See4Xb und SSL

Verfasst: Mi, 11. Jun 2014 10:20
von Wolfgang Ciriack
Hallo,
habe ein Problem bei einem Kunden mit T-Online-eMailadresse.
Stunnel baut Verbindung auf, die Verbindung klappt auch. Dann kommt ein ERROR 3803397 vSock timed out.
Hat das etl. schon jemand gehabt oder eine Vermutung, woran das liegen kann ?
(mit Outlook, denselben Konten und SSL-Ports klappt es).
Hier das Log:

Code: Alles auswählen

CreateProcess 0: pid=1540 thr=1536
Stunnel started (chan 0, process 0)
Connecting...
<200:3777642>
 VS Win32 Version 1.3.8 Build 1
SEE Win32 Version 7.1.0 Build 2
CiJu GmbH                                         
CID=11992
<101:3777642>
vs: LogHandle = 1532
vSock 0 created (IP 0)
<102:3777642>
LocalHost = '***-PC'
<104:3777642>
Server = '***-PC'
ServerIP = 192.168.2.101
<105:3777782>
vsConnect(0,'***-PC',8801) attempt 1
Socket=1544, RemoteIP=c0a80265, RemotePort=8801
connect(1544) returns 0
Server has accepted the connection
<106:3778391>
<201:3778422>
ERROR(3803397): SockCode=0 SeeCode=-8 PrevState=201 ThisState=-1 NextState=201
vSock timed out.
vSock timed out.vSock timed out.
*** seeRelease: Win32 11992 7.1.0 (2) ***
KillStunnel(0) pid=0
TerminateProcess 0: pid=1540 thr=1536
Stunnel killed (chan 0, process 0)
vSocket: 0 closed
*** Releasing channel 0 ***

Re: See4Xb und SSL

Verfasst: Mi, 11. Jun 2014 11:46
von Werner_Bayern
Servus Wolfgang,

Du verwendest eine alte Version von See, aktuell ist Version 7.2.0 Build 5. Stunnel verwende ich auch die aktuelle Version 5.01, funktioniert alles einwandfrei.
Meine Log sieht anders aus, mehr Infos. Du verwendest schon securesmtp.t-online.de auf SMTP-Port 465?

Code: Alles auswählen

seeSmtpConnectSSL(0,8801,465,'securesmtp.t-online.de'
Connecting...
<200:7801469>
 VS Win32 Version 1.3.9 Build 1
SEE Win32 Version 7.2.0 Build 5

Re: See4Xb und SSL

Verfasst: Mi, 11. Jun 2014 13:09
von Wolfgang Ciriack
Hallo Werner,
ich habe beides versucht, einmal securesmtp.t-online.de und smtpmail.t-online.de (der ist in Outlook mit SSL angegeben).Port ist 465.
Ja, die Version ist nicht ganz aktuell, aber bei anderen Kunden hatte ich auch mit SSL bisher keine Probleme.

Re: See4Xb und SSL

Verfasst: Mi, 11. Jun 2014 13:23
von brandelh
Ich hatte bei GMX und 1und1 keine Probleme, aber WEB.DE konnte ich nur zum Laufen bringen, wenn ich PORT 25 verwende, SLL aber .t. setze und stunnel automatisch konfigurieren lasse ...

Re: See4Xb und SSL

Verfasst: Mi, 11. Jun 2014 14:03
von Werner_Bayern
Der Fehlercode bedeutet
Socket timed out awaiting data.
Temporäres Server-Problem?
Mich wundert, dass Du mit smtpmail.t-online.de noch senden kannst...

Hast Du es schon mit der aktuellen Stunnel-Version versucht? Da hast sich viel getan: https://www.stunnel.org/index.html

Re: See4Xb und SSL

Verfasst: Mi, 11. Jun 2014 14:07
von brandelh
Ich muss mich verbessern, eben hat 587 funktioniert, eventuell waren es bei WEB.DE nur temporäre Probleme,
wichtig ist aber dass ich selbst KEINE stunnel Konfiguration mache, das erledigt see für mich. Hier die Änderungen im MailSSL.PRG :

Code: Alles auswählen

*
* NAME: MailSSL.prg
*
* TYPE: Xbase++
*
* DATE: September 20, 2013.
*
...
*       MailSSL -> Stunnel -> smtp_server -> recipient
*
* STUNNEL:
*
*    Stunnel is a free SSL proxy server that provides SSL services
*    to Windows programs.
*
...

#INCLUDE "DLL.CH"
#INCLUDE "KEYCODE.CH" // angeblich besser ... #define SEE_KEY_CODE // das stimmt aber nicht, sonst wird der Code irgendwann doch bekannt.
#INCLUDE "SEE32.CH"     // hier gibt es ein Problem ! Da hier Quellcode enthalten ist, dürften die Zeilennummern nicht mehr stimmen. Besser #defin

#pragma library("see32.lib")

Procedure Main()

**************************************************************
   nSmtpPort   = 587
   cSmtpServer = "smtp.web.de"
   cSmtpUser   = "...@web.de'
   cSmtpPass   = "..."
   cSmtpFrom   = "NickName <"+cSmtpUser+">" // wenn hier jemand anderes steht als cSmtpUser, dann kann es Probleme geben ...
   cSmtpTo     = "<...>"

**********************
*** Proxy Parameters - Download from ftp://ftp.marshallsoft.com/pub/stunnel/stunnel.zip
* ProxyPort   : proxy port (to contact proxy on)
* ProxyDir    : proxy server directory
* ProxyExe    : proxy server executable
* ProxyCert   : proxy server certificate (PEM format)
nProxyPort = 8801
cProxyDir = "D:\...\Test\See\" // DER PFAD MUSS STIMMEN ! Eventuell ist man besser dran, wenn stunnel Dateien in SSL getrennt aufbewahrt werden.
cProxyExe = "stunnel.exe"
cProxyCert = "stunnel.pem"
nFlags = 1                     && 1 = display Stunnel icon on the taskbar
*************************************************************
cSmtpReply = Chr(0)
cSubject = "Emailing TEST.TXT with attachment MyMailSSL.PRG"
cCClist  = Chr(0) // wichtig ! Falls man nichts angibt.
cBCClist = Chr(0)
* Note 1: The path delimiter changed from comma to semicolon in version 3.6
* Note 2: Use full path names unless file is located in Xbase++ directory.
* Note 3: Note the leading '@' character in cMsgFile.
* Note 4: Verify the location of all referenced files.
cLocalDir = "D:\...\Test\See\"
cMsgFile = cLocalDir + "TEST.TXT"
cAttachment = cLocalDir + "MailSSL.PRG"
cLogName = cLocalDir + "MailSSL.LOG"
*** END PROGRAMMER *******************************************

CLS
? "*** 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
  return
endif
nCode = CheckFileList(cAttachment)
if nCode = 0
  return
endif

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

altd()

* pass SMTP proxy server info to SEE
nCode = XseeSetProxySSL(0, nFlags, @cProxyDir, @cProxyCert, @cProxyExe)
if nCode < 0
  ? "XseeSetProxySSL()-Error"
  ShowError(nCode)
  return
else
  ? "Proxy parameters set"
endif

altd()

? "Connecting to proxy server on port " + LTrim(Str(nProxyPort))
nCode = XseeSmtpConnectSSL(0, nProxyPort, nSmtpPort, @cSmtpServer, @cSmtpUser, @cSmtpPass, @cSmtpFrom, @cSmtpReply, Chr(0))
if nCode < 0
  ? "XseeSmtpConnectSSL()-Error"
  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()
return

*************************************************

Function CheckFileList(cList)
Local nCode
Local cBuffer
cBuffer = Space(256)
nCode = XseeTestFileSet(0, @cList, @cBuffer, 256)
if nCode = 0
  * all files exist
  return 1
endif
* some files can't be opened
? "ERROR: File '" + Left(cBuffer, nCode) + "' cannot be opened"
nCode = XseeRelease()
return 0

*************************************************

Function ShowError(nErrCode)
Local nCode
Local cTemp
cTemp = SPACE(128)
* show SEE error
nCode = XseeErrorText(0, nErrCode, @cTemp, 128)
? Left(cTemp, nCode)
* show server's last response (if any)
nCode = XseeDebug(0, SEE_GET_LAST_RESPONSE, @cTemp, 128)
if nCode > 0
  ? Left(cTemp, nCode)
endif
* show location of log file
? "Log file is " + cLogName
nCode = XseeRelease()
return 1
und hier die LOG Datei - (T-Online kenne ich niemand) :

Code: Alles auswählen

*** seeIntegerParam(0,8,1)
*** seeSetProxySSL(0,1,'D:\...\Test\See\','stunnel.pem','stunnel.exe')
*** seeSmtpConnectSSL(0,8801,587,'smtp.web.de','...@web.de','*','Hubert <...@web.de>','HB <...@gmx.de>',''
*** seeStringParam(0,58,'...@web.de')
*** seeStringParam(0,57,*)
*** seeIntegerParam(0,29,1)
*** StartStunnel(0,'Smtp')
D:\HB_XBASE\Test\See\stunnel.exe D:\HB_XBASE\Test\See\SmtpConfig(0).txt  // automatisch erstellte Konfiguration
CreateProcess 0: pid=1132 thr=1128
Stunnel started (chan 0, process 0)
Connecting...
<200:25876307>
 VS Win32 Version 1.3.9 Build 1
SEE Win32 Version 7.2.0 Build 5
...
CID=...
<101:25876322>
vs: LogHandle = 1116
vSock 0 created (IP 0)
<102:25876338>
LocalHost = '...' // mein Rechner Name
<104:25876338>
Server = '...'     // mein Rechner Name
ServerIP = 192.168.0.27 // intern
<105:25876447>
vsConnect(0,'...',8801) attempt 1
Socket=1136, RemoteIP=c0a8001b, RemotePort=8801
connect(1136) returns 0
Server has accepted the connection
<106:25876977>
<201:25877009>
recv(0)=51
R: 220 web.de (mrweb001) Nemesis ESMTP Service ready
<202:25878803>
S: EHLO web.de
<203:25879068>
recv(0)=83
R: 250-web.de Hello web.de [82.113.106.100]
R: 250-SIZE 69920427
R: 250 AUTH LOGIN PLAIN
<160:25881267>
S: AUTH LOGIN
<162:25881517>
recv(0)=18
R: 334 VXNlcm5hbWU6
S: RmVobGVybWVsZHVuZ19IQl9Tb2Z0QHdlYi5kZQ==
<163:25881548>
recv(0)=18
R: 334 UGFzc3dvcmQ6
S: ************************
<164:25881829>
recv(0)=30
R: 235 Authentication succeeded
AUTH LOGIN ok
*** seeSendEmail
*** Sending...
<204:25881845>
S: MAIL FROM:<...@web.de>
<205:25881876>
recv(0)=43
R: 250 Requested mail action okay, completed
<206:25881938>
<207:25881938>
S: RCPT TO:<Hubert.Brandel@gmx.de>
<208:25881938>
recv(0)=8
R: 250 OK
<209:25882266>
S: DATA
<210:25882297>
recv(0)=46
R: 354 Start mail input; end with <CRLF>.<CRLF>
<221:25882968>
S: X-Mailer: MarshallSoft SMTP/POP3 Email Engine Version 7.2.0 
<222:25882968>
S: X-OEM: ...
<223:25882968>
S: Date: Wed, 11 Jun 2014 13:49:58 +0200
<224:25882968>
S: To: <...>
<225:25882999>
S: From: ... <...@web.de>
<226:25882999>
S: Reply-To: HB <...@gmx.de>
<227:25882999>
S: Subject: Emailing TEST.TXT with attachment MyMailSSL.PRG
<228:25882999>
<229:25882999>
<230:25882999>
S: MIME-Version: 1.0
<231:25882999>
S: Content-Type: multipart/mixed; boundary="===SEE123419925876151===MIX==="
<233:25882999>
S: 
<234:25882999>
S: --===SEE123419925876151===MIX===
<236:25882999>
S: Content-Type: text/plain
<237:25882999>
S: Content-Transfer-Encoding: quoted-printable

<239:25882999>
<244:25882999>
Opening message file [D:\HB_XBASE\Test\See\TEST.TXT]
Opening file [D:\HB_XBASE\Test\See\TEST.TXT]. Handle = 1360
<245:25882999>
GetMsgChar:Read 738 bytes
GetMsgChar:Read 0 bytes
S: SMTP Email Message
S: 
S: SEE test: May 19, 2008.
S: 
S: This is a test of the SMTP Email Engine..
S: This line exceeds 78 characters in length, so it should be broken up into two lines before sending.
S: The following line consists of the single '.' character.
S: ..
S: The above line should be sent as '..', but displayed after downloading
S: as a single '.'.
S: 
S: The character in the parenthesis is the equals symbol: (=3D)
S: 
S: This line has a period in character position 80 ---------------------------> (.)
S: 
S: In order to send longer lines (up to 1000 characters per line), enable MIME 
S: quoting by calling
S: 
S:    seeIntegerParam(0, SEE_QUOTED_PRINTABLE, QUOTED_PLAIN)
S: 
S: after seeAttach but before seeSendEmail or seeSendHTML.
S: 
S: Regards,
S: 
S: MarshallSoft
Closing file 1360
<260:25882999>
S: 

--===SEE123419925876151===MIX===
<261:25882999>
$$$ AttachBegPtr = [D:\HB_XBASE\Test\See\MailSSL.PRG]
$$$ AttachEndPtr = []
S: Content-Type: application/octet-stream; name="MailSSL.PRG"
<262:25882999>
S: Content-Transfer-Encoding: base64
<263:25882999>
S: Content-Disposition: attachment; filename="MailSSL.PRG"
<264:25882999>
S: 
<265:25882999>
Opening file [D:\HB_XBASE\Test\See\MailSSL.PRG]. Handle = 1360
<266:25882999>
...
S: IDENCg0K
Closing file 1360
### AttachBegPtr = [D:\HB_XBASE\Test\See\MailSSL.PRG]
### AttachEndPtr = []
<251:25882999>
S: 
--===SEE123419925876151===MIX===--
.
<252:25884029>
recv(0)=72
R: 250 Requested mail action okay, completed: id=0MhDVJ-1X87IC1q6L-00MM8E
*** seeClose(0)
[Closing attachment]
<258:25884029>
S: QUIT
<259:25884060>
recv(0)=49
R: 221 web.de Service closing transmission channel
vSocket: 0 closed
KillStunnel(0) pid=0
TerminateProcess 0: pid=1132 thr=1128
Stunnel killed (chan 0, process 0)
*** seeRelease: Win32 12341 7.2.0 (5) ***
*** Releasing channel 0 ***
Die Konfiguration auf einen Web-Server je Port hätte vielleicht funktioniert, aber ich wollte mehrere Server gleichzeitig testen und keine zip Ports verbraten.
Das mit dem automatischen Versand funktioniert gut.

Re: See4Xb und SSL

Verfasst: Mi, 11. Jun 2014 14:08
von brandelh
PS: bei GMX und WEB.DE erhält man bei falschem Port, User, Absender oder Kennwort immer "Mailbox unavailable" ... sehr aussagekräftig :wink:

Re: See4Xb und SSL

Verfasst: Mi, 11. Jun 2014 16:16
von Wolfgang Ciriack
Werde es mal übermorgen mit neuer stunnel versuchen. Ansonsten werde ich mir mal die Benutzerdaten geben lassen und bei t-online nachfragen bzw. eMail passwort etc. checken. t-Online war ja schon immer etwas besonderes :D

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 0:41
von Martin Altmann
Moin,
ich klinke mich mal hier ein, weil es so gut passt!
Ich will meinen Kunden ja jetzt auch die Möglichkeit geben, Massenmails zu versenden. Hatte noch eine See4XB von 2009 im Einsatz. Habe jetzt auf die aktuelle Version upgegradet, da sich ja mittlerweile einige Dinge bei den SMTP-Server-Standards geändert haben (z.B. SSL).
Habe auch manuell (nach dem Herunterladen von STUNNEL über die Marshallsoft-Webseite) die neueste Stunnel-Version (5.17) nachinstalliert - ohne Erfolg.
Von den STUNNEL-Dateien habe ich nur die in mein Programmverzeichnis (und somit auffindbar) übernommen, die auch in der Readme von Marshallsoft erwähnt werden (obwohl es noch wesentlich mehr Dateien im STUNNEL-Verzeichnis gibt) - und zwar nur die folgenden:

Code: Alles auswählen

   stunnel.html
   stunnel.exe
   stunnel.pem
   libeay32.dll
   ssleay32.dll
   zlib1.dll
Wobei ich die von Marshallsoft mitgelieferte .pem-Datei beibehalten habe und nicht mit der nach der Installation von STUNNEL 5.17 im Installationsprozeß erstellten ersetzt habe.
Sobald ich einen Server in meinem Programm konfiguriere und teste, werde ich mit angeblich ungültigem Usernamen oder asswort abgewesen - was natürlich Unsinn ist!
SSL_XBSEE.PNG
SSL_XBSEE.PNG (17.65 KiB) 16800 mal betrachtet
Als Absendeadresse hatte ich urssprünglich eine andere angegeben, aber Hubert schrieb hier weiter oben ausgeführt, dass eine andere From-Adresse als dem Usernamen Probleme bereiten könnte.
Wie bekommt ihr den Versand denn überhaupt hin? Folgende Parameter setze ich im Programm:

Code: Alles auswählen

	cEmptyStr := Chr(0)
//	cUser := alltrim( ::oTabCtrl:GetPage(_PAGE1_):USERNAME:EditBuffer() )
//	cPassword := alltrim( ::oTabCtrl:GetPage(_PAGE1_):PASSWORT:EditBuffer() )
	cUser := ConvToANSICp( alltrim( ::oTabCtrl:GetPage(_PAGE1_):USERNAME:EditBuffer() ) )
	cPassword := ConvToANSICp( alltrim( ::oTabCtrl:GetPage(_PAGE1_):PASSWORT:EditBuffer() ) )
	cBcc := iif( empty( ::oTabCtrl:GetPage(_PAGE1_):BCC:EditBuffer() ), Chr(0), "<" + ConvToANSICp( alltrim( ::oTabCtrl:GetPage(_PAGE1_):BCC:EditBuffer() ) ) + ">" )
	cFrom := "<" + ConvToANSICp( alltrim( ::oTabCtrl:GetPage(_PAGE1_):cFROM:EditBuffer() ) ) + ">"
	cReply := iif( empty( ::oTabCtrl:GetPage(_PAGE1_):REPLYTO:EditBuffer() ), Chr(0), "<" + ConvToANSICp( alltrim( ::oTabCtrl:GetPage(_PAGE1_):REPLYTO:EditBuffer() ) ) + ">" )
	nPort := val( ::oTabCtrl:GetPage(_PAGE1_):PORT:EditBuffer() )
	cServer := ConvToANSICp( alltrim( ::oTabCtrl:GetPage(_PAGE1_):SERVERNAME:EditBuffer() ) )
	cBetreff := ConvToANSICp( "Testmail: " + alltrim( ::oTabCtrl:GetPage(_PAGE1_):BETREFF:EditBuffer() ) )
	nVerschl := ::oTabCtrl:GetPage(_PAGE1_):AUTHART:GetSelectedData()
	nAuthenti := iif( ::oTabCtrl:GetPage(_PAGE1_):AUTHENTIFI:GetData(), 1, 0 )
	lSSL := ::oTabCtrl:GetPage(_PAGE1_):VERSCHLUES:GetData()
	cAnhang := trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE1:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE2:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE3:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE4:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE5:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE6:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE7:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE8:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE9:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE10:EditBuffer() ) + CRLF
	cAnhang += trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE11:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE12:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE13:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE14:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE15:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE16:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE17:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE18:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE19:EditBuffer() ) + CRLF + trim( ::oTabCtrl:GetPage(_PAGE2_):ZEILE20:EditBuffer() )
	cMailtext := ConvToANSICp( cAnhang )
	nProxyPort := 8801              
	cProxyDir := CurDrive() + ":\Easydogw\" 
	cProxyExe := "stunnel.exe"
	cProxyCert := "stunnel.pem"
	nFlags := 1                     // 1 = display Stunnel icon on the taskbar
	cLogName := cProxyDir + "SEE4XB.LOG"
	nCode := XseeAttach(1,  SEE_KEY_CODE)
	if nCode < 0
		cTemp := SPACE(500)
		nCode := XseeErrorText(0,nCode,@cTemp,500)
		dsConfirmBox(, "Die Initialisierung ist fehlgeschlagen!" ;
						+ chr( xbeK_RETURN ) + "Fehlertext: " + Left( cTemp, nCode ), ;
						"Prüfung fehlgeschlagen", ;
						{{BMP_PBOKAY, ""}}, ;
						XBPMB_CRITICAL,,,,,.t.,,, {|oDlg| oDlg:TextOptions:=XBPSTATIC_TEXT_LEFT+XBPSTATIC_TEXT_VCENTER} )
		nCode := XseeRelease()
	else
#ifdef ENTWICKLUNG
		nCode := XseeStringParam(0, SEE_LOG_FILE, @cLogName)
#endif
		nCode := XseeIntegerParam(0, SEE_IGNORE_REJECTED, 1)
		if lSSL
			nCode := XseeSetProxySSL(0, nFlags, @cProxyDir, @cProxyCert, @cProxyExe)
			if nCode < 0
				cTemp := SPACE(500)
				nCode := XseeErrorText(0,nCode,@cTemp,500)
				dsConfirmBox(, "Die Verschlüsselung konnte nicht aktiviert werden!" ;
								+ chr( xbeK_RETURN ) + "Fehlertext: " + Left( cTemp, nCode ), ;
								"Prüfung fehlgeschlagen", ;
								{{BMP_PBOKAY, ""}}, ;
								XBPMB_CRITICAL,,,,,.t.,,, {|oDlg| oDlg:TextOptions:=XBPSTATIC_TEXT_LEFT+XBPSTATIC_TEXT_VCENTER} )
			else
				nCode := XseeIntegerParam(0, SEE_AUTHENTICATE_PROTOCOL, nVerschl)
				nCode := XseeSmtpConnectSSL(0, nProxyPort, nPort, @cServer, @cUser, @cPassword, @cFrom, @cReply, Chr(0))

				if nCode < 0
					cTemp := SPACE(500)
					nCode := XseeErrorText(0,nCode,@cTemp,500)
					dsConfirmBox(, "Die Anmeldung am SMTP-Server war nicht möglich!" ;
									+ chr( xbeK_RETURN ) + "Fehlertext: " + Left( cTemp, nCode ), ;
									"Prüfung fehlgeschlagen", ;
									{{BMP_PBOKAY, ""}}, ;
									XBPMB_CRITICAL,,,,,.t.,,, {|oDlg| oDlg:TextOptions:=XBPSTATIC_TEXT_LEFT+XBPSTATIC_TEXT_VCENTER} )
				else
					cTo := cFrom
					nCode := XseeIntegerParam(0, SEE_QUOTED_PRINTABLE, QUOTED_ISO_8859_1)
					nCode := XseeSendEmail(0,@cTo,@cEmptyStr,@cBcc,@cBetreff,@cMailtext,@cEmptyStr)
					if nCode < 0
						cTemp := SPACE(500)
						nCode := XseeErrorText(0,nCode,@cTemp,500)
						dsConfirmBox(, "Die Testmail konnte nicht gesendet werden!" ;
										+ chr( xbeK_RETURN ) + "Fehlertext: " + Left( cTemp, nCode ), ;
										"Prüfung fehlgeschlagen", ;
										{{BMP_PBOKAY, ""}}, ;
										XBPMB_CRITICAL,,,,,.t.,,, {|oDlg| oDlg:TextOptions:=XBPSTATIC_TEXT_LEFT+XBPSTATIC_TEXT_VCENTER} )
					else
						dsConfirmBox(, "Die Testmail wurde an die Absendeadresse gesendet!" ;
										+ chr( xbeK_RETURN ) + "Bitte Posteingang prüfen", ;
										"Prüfung erfolgreich", ;
										{{BMP_PBOKAY, ""}}, ;
										XBPMB_INFORMATION,,,,,.t.,,, {|oDlg| oDlg:TextOptions:=XBPSTATIC_TEXT_LEFT+XBPSTATIC_TEXT_VCENTER} )
					endif
					nCode := XseeClose(0)
				endif
			endif
		else
			nCode := XseeIntegerParam(0, SEE_SMTP_PORT, nPort)
			if nAuthenti == 1
				nCode := XseeIntegerParam(0, SEE_ENABLE_ESMTP, nAuthenti)
				nCode := XseeStringParam(0, SEE_SET_USER, @cUser)
				nCode := XseeStringParam(0, SEE_SET_SECRET, @cPassword)
			endif
			nCode := XseeIntegerParam(0, SEE_AUTHENTICATE_PROTOCOL, nVerschl)
			nCode := XseeSmtpConnect(0, @cServer, @cFrom, @cReply)
			if nCode < 0
				cTemp := SPACE(500)
				nCode := XseeErrorText(0,nCode,@cTemp,500)
				dsConfirmBox(, "Die Anmeldung am SMTP-Server war nicht möglich!" ;
								+ chr( xbeK_RETURN ) + "Fehlertext: " + Left( cTemp, nCode ), ;
								"Prüfung fehlgeschlagen", ;
								{{BMP_PBOKAY, ""}}, ;
								XBPMB_CRITICAL,,,,,.t.,,, {|oDlg| oDlg:TextOptions:=XBPSTATIC_TEXT_LEFT+XBPSTATIC_TEXT_VCENTER} )
			else
		nCode := XseeIntegerParam(0, SEE_QUOTED_PRINTABLE, QUOTED_ISO_8859_1)
				cTo := cFrom
				nCode := XseeSendEmail(0,@cTo,@cEmptyStr,@cBcc,@cBetreff,@cMailtext,@cEmptyStr)
				if nCode < 0
					cTemp := SPACE(500)
					nCode := XseeErrorText(0,nCode,@cTemp,500)
					dsConfirmBox(, "Die Testmail konnte nicht gesendet werden!" ;
									+ chr( xbeK_RETURN ) + "Fehlertext: " + Left( cTemp, nCode ), ;
									"Prüfung fehlgeschlagen", ;
									{{BMP_PBOKAY, ""}}, ;
									XBPMB_CRITICAL,,,,,.t.,,, {|oDlg| oDlg:TextOptions:=XBPSTATIC_TEXT_LEFT+XBPSTATIC_TEXT_VCENTER} )
				else
					dsConfirmBox(, "Die Testmail wurde an die Absendeadresse gesendet!" ;
									+ chr( xbeK_RETURN ) + "Bitte Posteingang prüfen", ;
									"Prüfung erfolgreich", ;
									{{BMP_PBOKAY, ""}}, ;
									XBPMB_INFORMATION,,,,,.t.,,, {|oDlg| oDlg:TextOptions:=XBPSTATIC_TEXT_LEFT+XBPSTATIC_TEXT_VCENTER} )
				endif
				nCode := XseeClose(0)
			endif
		endif
		nCode := XseeRelease()
	endif
Wie ihr seht, habe ich auch schon experimentiert mit ConvToAANSICp() bei Usernamen und Passwort. Aber völlig egal, ob ich die Feldinhalte umwandeln lasse oder nicht: Es klappt nicht.
Das Log zeigt:

Code: Alles auswählen

*** seeIntegerParam(0,32,1)
*** seeSetProxySSL(0,1,'d:\Easydogw\','stunnel.pem','stunnel.exe')
*** seeIntegerParam(0,62,2)
*** seeSmtpConnectSSL(0,8801,465,'smtp.mail.yahoo.com','martin_altmann2001','*','<martin_altmann2001@yahoo.de>','',''
*** seeStringParam(0,58,'martin_altmann2001')
*** seeStringParam(0,57,*)
*** seeIntegerParam(0,29,1)
*** StartStunnel(0,'Smtp')
d:\Easydogw\stunnel.exe d:\Easydogw\SmtpConfig(0).txt
CreateProcess 0: pid=1480 thr=1476
Stunnel started (chan 0, process 0)
Connecting...
<200:574873031>
 VS Win32 Version 7.3.1 Build 2
SEE Win32 Version 7.3.1 Build 2
Altmann & Temming GbR                             
CID=...
<101:574873046>
vs: LogHandle = 1472
vSock 0 created (IP 0)
<102:574873046>
LocalHost = 'Cheffe'
<104:574873046>
Server = 'CHEFFE'
ServerIP = 192.168.178.38
<105:574873156>
vsConnect(0,'CHEFFE',8801) attempt 1
Socket=1484, RemoteIP=c0a8b226, RemotePort=8801
connect(1484) returns 0
Server has accepted the connection
<106:574873687>
<201:574873718>
recv(0)=37
R: 220 smtp.mail.yahoo.com ESMTP ready
<202:574873921>
S: EHLO yahoo.de
Delay 375 ms
<203:574874296>
recv(0)=115
R: 250-smtp.mail.yahoo.com
R: 250-PIPELINING
R: 250-SIZE 41697280
R: 250-8 BITMIME
R: 250 AUTH PLAIN LOGIN XOAUTH2 XYMCOOKIE
<160:574874296>
S: AUTH LOGIN
<162:574874546>
recv(0)=18
R: 334 VXNlcm5hbWU6
S: bWFydGluX2FsdG1hbm4yMDAx
<163:574874578>
recv(0)=18
R: 334 UGFzc3dvcmQ6
S: ****************
<164:574874843>
recv(0)=54
R: 535 5.7.0 (#MBR1212) Incorrect username or password.
ERROR(574877734): SockCode=0 SeeCode=-49 PrevState=164 ThisState=164 NextState=164
SMTP returned error. 535 5.7.0 (#MBR1212) Incorrect username or password.

SMTP returned error. 535 5.7.0 (#MBR1212) Incorrect username or password.
SMTP returned error. 535 5.7.0 (#MBR1212) Incorrect username or password.

*** seeRelease: Win32 11109 7.3.1 (2) ***
KillStunnel(0) pid=0
TerminateProcess 0: pid=1480 thr=1476
Stunnel killed (chan 0, process 0)
vSocket: 0 closed
*** Releasing channel 0 ***
Wo stelle ich mich wieder zu dumm an? :banghead:

Viele Grüße,
Martin

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 1:21
von AUGE_OHR
Frage : kommst du , mit einer andern Anwendung wie Outlook, auf Port 465 und SSL bei Yahoo rein ?
wenn nein versuche doch mal Port 587

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 1:22
von Martin Altmann
Habe es jetzt auch noch mal mit dem kompletten Verzeichnis der neuen STUNNEL-Version probiert (also den Eintrag für den SSLProxy entsprechend konfiguriert) - auch mit dem selben Ergebnis.

Viele Grüße,
Martin

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 1:23
von Martin Altmann
Jimmy,
die Einstellungen habe ich aus meinem Thunderbird-Client übernommen.

Viele Grüße,
Martin

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 1:29
von Martin Altmann
Äh - ich dachte eigentlich immer, dass ich bei <Strg>-<N> eine neue Nachricht sende und dabei die Einstellungen des Servers nehme, auf dem ich mich in der linken Liste in Thunderbird befinde.
Das klappt auch bei zweien - aber bei Yahoo sendet er (zumindest laut Anzeige in dem Dialogfenster) über einen anderen Server...

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 1:41
von Martin Altmann
Habe es jetzt auch mit ...yahoo.de beim Servernamen versucht und auch mit den beiden Ports - geht nicht.

Viele Grüße,
Martin

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 1:50
von AUGE_OHR
hm ... schon mal mit CDO probiert ?

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 2:04
von Martin Altmann
Ich möchte eigentlich kein ActiveX verwenden müssen.
Da andere keine Probleme mit See4Xb und SSL haben, muß ich wohl irgendwas falsch machen. Habe auch versatel und web.de als Accounts versucht - selbe Fehlermeldungen.

Viele Grüße,
Martin

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 2:45
von AUGE_OHR
Martin Altmann hat geschrieben:Ich möchte eigentlich kein ActiveX verwenden müssen.
solange Cdosys.dll auf jedem M$ OS() (auch Win 10.10071) vorhanden ist ...

es wird, zum versenden von Emails, nicht sonderlich viel "Power" benötigt und wenn du keine Events empfängst ( CreateObject ) kannst du auch DispHPR aus ot4xb nutzen.
Martin Altmann hat geschrieben:Da andere keine Probleme mit See4Xb und SSL haben, muß ich wohl irgendwas falsch machen. Habe auch versatel und web.de als Accounts versucht - selbe Fehlermeldungen.
wenn du auch WEB.DE nicht erreichst stimmt wohl wirklich was mit SSL nicht ...

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 7:27
von brandelh
martin_altmann2001 ist das dein user name ?
bei gmx und web.de muss ich entweder die Kundennummer eingeben oder dei komplette eMail-Adresse

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 9:26
von Scarmo
Hallo Martin

Also Dein Code sieht korrekt aus. Deshalb tippe ich ebenfalls darauf, dass als Benutzername bei Yahoo die komplette Email-Adresse verwendet werden sollte (also inkl. @Domain).

Grüsse
Marco

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 9:41
von Martin Altmann
Moin,
habe ich auch versucht. Ging auch nicht. Auch nicht mit anderen Providern.
Ich habe STUNNEL nirgends konfiguriert gehabt - einfach nur die Zip ausgepackt und fertig! Hatte zumindest die SEE4XB-Doku so verstanden, dass sie sich um alles selber kümmern. Ist dem so? Kann es nicht sein, dass dort das Problem liegt? Das vielleicht mit der Verschlüsselung was nicht klappt und deshalb die logindaten vermeintlich falsch sind?
In welcher Codepage erwartete SEE4XB denn die Anmeldedaten als Parameter? OEM oder ANSI?

Viele Grüße,
Martin

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 10:14
von brandelh
oem oder ansi spielt keine rolle solange du keine Umlaute oder (> 128) verwendest.
Stunnel braucht man nicht konfigurieren, aber in deiner prg das automatische konfigurieren einschalten und dll/exe Verzeichnis angeben. Oben habe ich ein Beispiel aufgeführt, wobei das ja wieder ewig her ist ...

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 10:23
von Martin Altmann
Hubert,
das automatische Konfigurieren nutze ich ja.
Bezüglich Sonderzeichen: Ich kenne die Passwörter meiner Kunden nicht ;-)

Viele Grüße,
Martin

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 10:29
von brandelh
richtig.

Da es eine standard dll ist, vermute ich Ansi, aber Hersteller fragen ist sicherer ...

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 11:03
von Scarmo
Hallo Martin

Ich habe folgende Stunnel-Versionen im Einsatz:

- stunnel.exe 15.10.2014 119296
- stunnel.html 15.10.2014 40186
- stunnel.pem 04.01.2012 2936
- libeay32.dll 15.10.2014 1397248
- ssleay32.dll 15.10.2014 274432

Hast Du auch diese Versionen im Einsatz? Zudem muss stunnel nicht installiert werden, sondern es reicht, dass die Dateien im entsprechenden Verzeichnis vorhanden sind.

Gruss
Marco

Re: See4Xb und SSL

Verfasst: Do, 07. Mai 2015 11:38
von Martin Altmann
Marco,
ja.
Aber es wird immer verrückter! Habe mal die mailssl.prg von Marshallsoft mit den selben Parametern bestückt, die ich in meinem Programm angegeben habe. Funzt!!
Habe daraufhin die sourcen verglichen und noch einige Anpassungen bei mir vorgenommen. Funzt nicht! Selbst wenn ich auf das selbe Unterverzeichnis für die STUNNEL-Konfig verweise.
Wenn ich mir die beiden Logs ansehe, sind diese (inzwischen) identisch (außer den Prozess-IDs natürlich und auch nur bis zur Anmeldung am SMTP-Server - danach geht es ja bei dem einen weiter und der andere wird abgewiesen).
Hatte in meinem Programmverzeichnis selber noch ein paar alte DLLs gefunden (libeay32.dll, libssl32.dll, ssleay32.dll) - aber auch nach dem Entfernen dieser Dateien geht es nicht!
Bezüglich der Parameter User, From und Passwort: Habe schon alle drei Varianten versucht (ConvToANSICp, ConvToOEMCP, und nichts) - kein Unterschied.

Viele Grüße,
Martin