Sub Command1_Click()
  SendEmail "dinserver.se", "dittnamn", "pelle@interpress.se", _
  "SAND OnLine user", "dinadress@abc.se", _
  "Winsock SMPT test", "Hej och tack!" & chr(10)
End Sub
' Addera denna kod till Winsock1_DataArrival händelsen
Sub Winsock1_DataArrival()
  Winsock1.GetData Response
End Sub
' Denna rutin väntar på att SMTP servern skall returnera en returkod innan SMTP rutinen kan starta och sända mail.
Sub WaitFor(ResponseCode As String)
  Dim tmr As Long
  While Len(Response) = 0
    DoEvents
    If tmr > 50 Then
      MsgBox "SMTP service error, unable to get a response1", 64, MsgTitle
      Exit Sub
    End If
  Wend
  While left(Response, 3) <> ResponseCode
    DoEvents
    If tmr > 50 Then
      MsgBox "SMTP service error, unable to get a response2", 64, MsgTitle
      Exit Sub
    End If
  Wend
End Sub
'Denna subrutin är den som innehåller själva kärnan. Se vad som händer 'direkt efter du sänt datat. Du får en sträng som måste kontrolleras om 'något fel uppstått efter att datat sänts.
Sub WaitFor2(ResponseCode As String)
  Dim tmr As Long
  tmr = Timer
  While Len(Response) = 0
    If tmr > 50 Then
      MsgBox "SMTP service error, unable to get a response3", 64, MsgTitle
      Exit Sub
    End If
    Unload Techsup
    DoEvents
  Wend
  'Reply = InStr(Response, "354 ")
  While Reply = 0
    Reply = InStr(Response, ResponseCode)
    DoEvents
  Wend
End Sub
'Här är hjärtat av SMTP rutinen. Det finns några argument som du måste 'använda för att skicka mailet. Ett problem som säkert kommer att dyka 'upp, är att du måste finna en mailserver som sänder ditt mail. Men konto 'borde du ha hos din service provider.
Sub SendEmail(MailServerName As String, FromName As String, _
  FromEmailAddress As String, ToName As String, _
  ToEmailAddress As String, EmailSubject As String, _
  EmailBodyOfMessage As String)
  DateNow = Format(Date, "Ddd") & ", " & Format(Date, "dd Mmm YYYY") & _
    " " & Format(time, "hh:mm:ss") & " " & " -0600"
  first = "mail from:" + Chr(32) + FromEmailAddress + vbCrLf
  Second = "rcpt to:" + Chr(32) + ToEmailAddress + vbCrLf
  third = "Date:" + Chr(32) + DateNow + vbCrLf
  Fourth = "From:" + Chr(32) + FromName + vbCrLf
  Fifth = "To:" + Chr(32) + ToName + vbCrLf
  Sixth = "Subject:" + Chr(32) + EmailSubject + vbCrLf
  Seventh = EmailBodyOfMessage + vbCrLf
  Ninth = "X-Mailer: DevPatch Tech Support Form" + vbCrLf
  Eighth = Fourth + third + Ninth + Fifth + Sixth + Seventh
  Winsock1.Protocol = sckTCPProtocol
  Winsock1.RemoteHost = MailServerName
  Winsock1.RemotePort = 25
  Winsock1.Connect
  WaitFor ("220")
  Winsock1.SendData ("HEJ microsoft.com" + vbCrLf)
  WaitFor ("250")
  Winsock1.SendData (first)
  WaitFor ("250")
  Winsock1.SendData (Second)
  WaitFor ("250")
  Winsock1.SendData ("data" + vbCrLf)
  WaitFor2 ("354 ")
  Winsock1.SendData (Eighth)
  Winsock1.SendData ("." + vbCrLf)
  WaitFor ("250")
  Winsock1.SendData ("quit")
  WaitFor ("221")
  Winsock1.Close
End Sub