CA Visual Objects, wysyłanie emaila

0

Hej! Mam problem z wysłaniem emaila z CA Visual Objects 2.7b...
Program, nie rzuca wyjątku ale email nie dochodzi pod wskazany adres... Z serwera SMTP kod odpowiedzi to 250 Requested mail action okay, completed.
Kod źródłowy :

 
METHOD pbSend( ) CLASS MailDlg

LOCAL oEmail AS CEmail  // klasa z obsługą emaila
LOCAL cMessage AS STRING // zmienna tekstowa przechowująca komunikat
LOCAL oSmtp AS CSmtp // klasa do obsługi protokomu SMTP
LOCAL cError AS STRING  // zmienna tekstowa przechowująca komunikat o błędzie
LOCAL oSomeInfo AS InfoBox
LOCAL isConnected AS LOGIC
LOCAL isSent AS LOGIC
      cMessage := oDCMultiLineEdit1:TextValue       // tresc emaila to zawartość kontrolki tekstowej

	// twórz domyślny email
	oEmail := CEmail{""}	// surowy email
	
	// adres e-mail z którego wysyłamy wiadomość
	oEmail:FromName := "[email protected]"
	// adres docelowy na który wysyłamy wiadomość
	oEmail:cDestList := "[email protected]" 
	// treść emaila
	oEmail:Subject := "E-mail automatycznie wygenerowany przez program"
	
	// ustawiamy treść emaila na zmienną tekstową w której jest przechowywana zawartość kontrolki tekstowej
	oEmail:cText := cMessage

    // dodaj plik jako załącznik
     cError := oEmail:EncodeAttachment("c:\baza.txt")

    // czy był błąd
	IF !Empty(cError)
	//			MessageBox(NIL,cError, PSZ("Błąd"), MB_OK+MB_ICONERROR)
		oSomeInfo := InfoBox{SELF, cError, SELF:Caption}
		oSomeInfo:Show()
		ENDIF
	
	
	// przygotuj email
     oEmail:EncodeEmail()


	// twórz obiekt oSmtp
	// w konstruktorze 1 parametr to obiekt typu CEmail, 2 parametr to nazwa programu pocztowego
      oSmtp := CSmtp{oEmail, "10.0.0.8", "25"}


	// czy wymagana bezpieczna autoryzacja ?
	oSmtp:SecureSMTP := FALSE
	// adres serwera
	oSmtp:RemoteHost := "10.0.0.8"
	oSmtp:RemotePort := 25
	

	// nazwa użytkownika
	oSmtp:UserName := "[email protected]"
	// hasło
	oSmtp:PassWord := "haslomaslo"
	
	isConnected := oSmtp:connect("10.0.0.8", "25")
	IF (isConnected==FALSE)
		  		oSomeInfo := InfoBox{SELF, "Błąd połączenia!", "Bład"}
						oSomeInfo:Show()
		ENDIF

	// wyślij email
	isSent := oSmtp:SendMail()
       IF ISSent = FALSE
 		oSomeInfo := InfoBox{SELF, "Bład!", "Błąd wysyłania wiadomości!"}
		oSomeInfo:Show()
	 	oSomeInfo := InfoBox{SELF, "Bład!", oSmtp:ReplyString}
		oSomeInfo:Show()	
       ENDIF	
// zamknij połączenie
	oSmtp:Axit()
	oSmtp:Disconnect()
	
	
 	SELF:EndDialog()

Z góry dzięki za pomoc...

0

Wykonaj skorygowany cSmtp jak poniżej:

class cSmtpTSL inherit CSMTP

METHOD RecvRemote() CLASS cSmtpTSL
LOCAL lRet as LOGIC
LOCAL nSize as DWORD
LOCAL cRet as STRING
self:cReply := selfGetLine()
IF nSize = 0
lRet := true
ELSE
cRet := self:cReply
* InfoBox{,;
* 'METHOD RecvRemote() CLASS CSMTPAuthentication',;
* 'Wykonano: self:cReply := selfGetLine()...'+CRLF+;
* 'cRet...'+CRLF+;
* '{'+StrTran(StrTran(cRet,CRLF,'<CRLF>'),' ','_')+'}'+CRLF+;
* ListStack()}:show()
IF cRet = "STARTTLS" .and. "250 HELP" $ cRet
self:nReply := 250
self:nError := 0
lRet := super:RecvRemote()
ELSE
self:nReply := Val(SubStr3(cRet, 1, 4))
IF self:nReply > 0
lRet := true
self:nError := 0
ELSE
// UH 03/16/1998
cRet := AllTrim(Upper(cRet))
IF cRet = "(EST)"
self:nReply := 250
lRet := true
self:nError := 0
ENDIF
ENDIF
ENDIF
endif
RETURN lRet

1 użytkowników online, w tym zalogowanych: 0, gości: 1