看看那错了这只是一个发邮件的程序
Private Enum SMTP_State
MAIL_CONNECT
MAIL_HELO
MAIL_FROM
MAIL_RCPTTO
MAIL_DATA
MAIL_DOT
MAIL_QUIT
End Enum
Private m_State As SMTP_State
Private First As String
Private Second As String
Private DateNow As Date
Private Third As Date
Private Fourth As String
Private Fifth As String
Private Sixth As String
Private Seventh As String
Private Ninth As String
Private Eighth As String
Private Sub Command1_Click() '发送按钮
Winsock1.Close
Winsock1.LocalPort = 0
Winsock1.Protocol = sckTCPProtocol
Winsock1.RemoteHost = "smtp.sohu.com"
Winsock1.RemotePort = 25
Winsock1.Connect
m_State = MAIL_CONNECT
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strServerResponse As String
Dim strResponseCode As String
Dim strDataToSend As String
Winsock1.GetData strServerResponse
Debug.Print strServerResponse
strResponseCode = Left(strServerResponse, 3)
If strResponseCode = "250" Or strResponseCode = "220" Or strResponseCode = "354" Then
Select Case m_State
Case 0
m_State = MAIL_HELO
Winsock1.SendData "HELO www.sohu.com" & vbCrLf
Debug.Print "HELO www.sohu.com"
Case 1
m_State = MAIL_FROM
Winsock1.SendData "mail from: " & Chr(32) & "wansijei@sohu.com" & vbCrLf
Debug.Print "MAIL FROM: wansijei@sohu.com"
Case 2
m_State = MAIL_RCPTTO
Winsock1.SendData "rcpt to: wansijei@sohu.com" & vbCrLf
Debug.Print "RCPT TO: wansijei@sohu.com"
Case 3
m_State = MAIL_DATA
Winsock1.SendData "data" & vbCrLf
Debug.Print "DATA"
Case 4
m_State = MAIL_DOT
Winsock1.SendData "Subject: " & "wwwwwwwwwwwwwtext" & vbCrLf
Winsock1.SendData "text" & vbCrLf
Winsock1.SendData "." & vbCrLf
Case 5
m_State = MAIL_QUIT
Winsock1.SendData "QUIT" & vbCrLf
Debug.Print "QUIT"
Case 6
Winsock1.Close
Command1.Enabled = True
MsgBox "OK"
Winsock1.Close
End Select
Else
Winsock1.Close
MsgBox "SMTP ERRor:" & strServerResponse, vbInformation, "SMTP Error"
' Command1.Enabled = True
End If
End Sub
Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox "WinSock Error Number " & Number & vbCrLf & Description, vbExclamation, "WinSock Error"
End Sub