PDA

Visualizza la versione completa : [vb] problemone con winsock...vi prego (aiuto!)


evil80
02-10-2002, 21:28
ciao,
sto impazzendo...sto usando il winsosk per spedire e-mail ma ricevo subito errore!Questo il codice



Private Sub Command2_Click()

Dim RispServer As String
Dim InviaDato As String

Winsock1.Connect "127.0.0.1", 25
InviaDato = "HELO SMTPClient"
Winsock1.SendData (InviaDato) + vbCrLf
'qui mi da errore (nella riga sopra)

Winsock1.GetData RispServer


"Wrong protocol or connection state fo the requested transaction or request".
Vi prego non riesco non riesco proprio a capire come cavolo fare !:bh:

AIUTO!!!!!!

Ho anche installato un server di posta per controllare passo passo tutta la sequenza di dialogo,ma non riesco a capire !

darkblOOd
03-10-2002, 12:19
:dh:

se magari dai tempo al server di rispondere.....

evil80
03-10-2002, 15:14
:dh: scusa...ma era il mio primo tentativo di costruzione di un "mailer",ora funzia.

Mi sapresti dire quando devo chiudere il winsock ?
devo usare un particolare evento,o semplicemente uso il metodo close dopo aver inviato la stringa "QUIT" ?

Thanks

jabjoint
03-10-2002, 15:15
fai cosi: nel evento dataarrival
metti "ric = true"
imposti ric as Boolean incima al codice.
Poi se la ric vera significa che il server ha risposto e gli invii i dati. Ciao non so se hai capito spero di si...

evil80
03-10-2002, 15:17
???? :confused:

Ti 6 spiegato davvero male...

jabjoint
04-10-2002, 09:06
'Hai ragione scusa adesso che ho + tempo ti spiego meglio:
'Con questo codice dovresti capire!
'Ti baster inserire un bottone e chiamarlo "connect".

Dim Receive As String
Dim RecOn As Boolean

Private Sub Connect_Click()

Dim Dati As String
Dim mailfrom, mailto As String 'le ho impostate per esempio.

RecOn = False

ws.Close
'Connettiti...
'consiglio "smtp.aruba.it" come host non richiede l' autentificazione
ws.connect "smtp.aruba.it", 25 'Lascialo cosi per provare! ;)

'mail tua:
mailfrom = "25134" 'Questa lasciala pure per provare!
'mail destinatario:
mailto = "latuaemail@server.it/com" '<-- Qui metti LA TUA E_MAIL per provare!!!!!

LMailFrom:
If RecOn = True Then

MsgBox "1) Il server ha risposto, adesso mando il destinatario"

Dati = "MAIL FROM: " & mailfrom
ws.SendData Dati + vbCrLf
RecOn = False
'Va da solo a LMailTo.
Else
DoEvents
GoTo LMailFrom
End If

LMailTo:
If RecOn = True Then

MsgBox "2) Il server ha risposto, adesso mando il mittente"

Dati = "RCPT TO: " & mailto
ws.SendData Dati + vbCrLf
RecOn = False
MsgBox "Adesso continua tu! Devi inserire il data,ecc..."
Else
DoEvents
GoTo LMailTo
End If

End Sub


Private Sub ws_DataArrival(ByVal bytesTotal As Long)

'Questo l' evento che riceve:

ws.GetData Receive, vbString 'Cosi ricevo una stringa.
MsgBox "Il server ha risposto: " & Chr(10) & Chr(10) & Receive
RecOn = True

End Sub


'Ciao, fammi sapere come v??? :ciauz: :ciauz:

Loading