per inviare mail uso questo codice

codice:
Dim ricevi As String
Private Sub spedisci()
   Winsock1.Connect provider.Text, 25
   delay
   Winsock1.SendData ("HELO " & mitt.Text & vbCrLf)
   delay
   Winsock1.SendData ("MAIL FROM: <" & mitt.Text & ">" & vbCrLf)
   delay
   Winsock1.SendData ("RCPT TO: <" & dest.Text & ">" & vbCrLf)
   delay
   Winsock1.SendData ("DATA" & vbCrLf)
   delay
   Winsock1.SendData (testo.Text & vbCrLf & "." & vbCrLf)
   delay
   Winsock1.Close
   
End Sub


Private Sub Command1_Click()
spedisci

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  Winsock1.GetData Dalserver, vbString
  ricevi = Dalserver
End Sub

Private Sub delay()
ricevi = ""
Do While ricevi = ""
DoEvents
Loop
End Sub
il problema è che va una volta su 20!!e non da mai errore...semplicemente non arriva la mail...
ho provato con diversi smtp (libero,tiscali,tin.it) ma il risultato è sempre lo stesso...sbaglio io o c'è qualche problema al mio pc?