** SMTP authentication code:
THIS.GiveFeedback( 'CONNECTED TO SMTP SERVER' )
IF EMPTY(tcUser+tcPwd)
if not THIS.ReadWrite("HELO " + alltrim(lcServ)) = 250 && v12.19 wgcs..was StrServ
THIS.GiveFeedback( [ERROR: "HELO ] + alltrim(lcServ) +[" FAILED], [(Server Returned "]+THIS.SrvRet+[")])
RETURN .F.
endif
else
if not THIS.ReadWrite("EHLO " + alltrim(lcServ)) = 250 && v12.19 wgcs..was StrServ
THIS.GiveFeedback( [ERROR: "EHLO ] + alltrim(lcServ) +[" FAILED], [(Server Returned "]+THIS.SrvRet+[")])
RETURN .F.
endif
THIS.GiveFeedback( 'AUTHENTICATING TO SMTP SERVER' )
*!* lcResp = STRCONV(tcUser+CHR(0)+tcUser+CHR(0)+tcPwd,13)
*!* if not THIS.ReadWrite("AUTH PLAIN "+lcResp ) = 235
*!* THIS.GiveFeedback( [ERROR: "AUTH PLAIN" FAILED], [(Server Returned "]+THIS.SrvRet+[")])
*!* RETURN .F.
*!* ENDIF
DO CASE
CASE UPPER(ALLTRIM(tcAuthMeth))=='PLAIN'
if not THIS.ReadWrite("AUTH PLAIN" ) = 334
THIS.GiveFeedback( [ERROR: "AUTH PLAIN" FAILED], [(Server Returned "]+THIS.SrvRet+[")])
RETURN .F.
ENDIF
if not THIS.ReadWrite(tcUser) = 334
THIS.GiveFeedback( [ERROR: "AUTH PLAIN" FAILED], [(Server Returned "]+THIS.SrvRet+[")])
RETURN .F.
endif
if not THIS.ReadWrite(tcPwd) = 235
THIS.GiveFeedback( [ERROR: "AUTH PLAIN" FAILED], [(Server Returned "]+THIS.SrvRet+[")])
RETURN .F.
ENDIF
CASE UPPER(tcAuthMeth)='PLAIN (TYPE 2)' && Base64Encode( CHR(0)+cUserName+CHR(0)+cPwd )
if not THIS.ReadWrite("AUTH PLAIN "+STRCONV(CHR(0)+tcUser+CHR(0)+tcPwd,13) ) = 334
THIS.GiveFeedback( [ERROR: "AUTH PLAIN" TYPE 2 FAILED], [(Server Returned "]+THIS.SrvRet+[")]) && v12.27 wgcs
RETURN .F.
ENDIF
CASE UPPER(tcAuthMeth)='LOGIN' && v12.26 wgcs
if not THIS.ReadWrite("AUTH LOGIN" ) = 334
THIS.GiveFeedback( [ERROR: "AUTH LOGIN" FAILED], [(Server Returned "]+THIS.SrvRet+[")]) && v12.27 wgcs
RETURN .F.
ENDIF
if not THIS.ReadWrite( STRCONV(tcUser,13) ) = 334
THIS.GiveFeedback( [ERROR: "AUTH LOGIN" FAILED], [(Server Returned "]+THIS.SrvRet+[")]) && v12.27 wgcs
RETURN .F.
endif
if not THIS.ReadWrite( STRCONV(tcPwd,13) ) = 235
THIS.GiveFeedback( [ERROR: "AUTH LOGIN" FAILED], [(Server Returned "]+THIS.SrvRet+[")]) && v12.27 wgcs
RETURN .F.
endif
ENDCASE