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...