1,502
社区成员
发帖
与我相关
我的任务
分享
Private Sub EmailConnect()
If Winsock1.State <> 0 Then
Winsock1.Close
End If
Winsock1.Protocol = sckTCPProtocol 'Set TCP
Winsock1.RemoteHost = "smtp.sohu.com" 'name of server
Winsock1.RemotePort = 25 'remotePort
'Winsock1.LocalPort = 5001 'Local Port
Winsock1.Connect
DoEvents
End Sub
Private Sub Command1_Click()
Call EmailConnect
End Sub
'Send Information by Email
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim str As String
Static bytSendFlag As Byte
Winsock1.GetData str
Debug.Print str
Select Case Left$(str, 3)
Case 220 'Hello Information
Winsock1.SendData ("EHLO Yongjun" + vbCrLf)
bytSendFlag = 1
Case 250
Select Case bytSendFlag
Case 1 'Auto
Winsock1.SendData ("AUTH LOGIN" + vbCrLf)
DoEvents
bytSendFlag = bytSendFlag + 1
Case 5 'To Email
Winsock1.SendData ("rcpt to:" + Chr$(32) + "XXXXXX@hotmail.com" + vbCrLf)
bytSendFlag = bytSendFlag + 1
DoEvents
Case 6 'data information
Winsock1.SendData ("data" + vbCrLf)
bytSendFlag = bytSendFlag + 1
DoEvents
Case 8 'Close Connect
Winsock1.SendData ("quit" + vbCrLf)
Winsock1.Close
DoEvents
End Select
Case 334
Select Case bytSendFlag
Case 2 'Name of User
Winsock1.SendData (BaseEncode64("UserName") + vbCrLf)
bytSendFlag = bytSendFlag + 1
DoEvents
Case 3 'Password of User
Winsock1.SendData (BaseEncode64("PassWord") + vbCrLf)
bytSendFlag = bytSendFlag + 1
DoEvents
End Select
Case 235
If bytSendFlag = 4 Then 'From E-mail
Winsock1.SendData ("mail from:" + Chr$(32) + "xxxxx@sohu.com" + vbCrLf)
bytSendFlag = bytSendFlag + 1
DoEvents
End If
Case 354
If bytSendFlag = 7 Then 'Information of Email ,this mail is blocked by kbas system,blockid=192.168.41.217.25648.1199861029
Winsock1.SendData ("Date:" + Chr$(32) + Format$(Date, "Ddd") & "," & Format$(Date, "dd Mmm YYYY") & "" & Format$(tIME, "hh:mm:ss") & "" & "-0600" + vbCrLf)
Winsock1.SendData ("From:" + Chr$(32) + "USERNAME" + vbCrLf)
Winsock1.SendData ("X-Mailer: vbemailsender" + vbCrLf)
Winsock1.SendData ("To:" + Chr$(32) + "SOFTCOMPANY" + vbCrLf)
Winsock1.SendData ("Subject:" + Chr$(32) + "SOFT" + vbCrLf)
Winsock1.SendData ("I AM USING THE SOFT!" + vbCrLf)
Winsock1.SendData ("." + vbCrLf)
DoEvents
bytSendFlag = bytSendFlag + 1
End If
End Select
End Sub