VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
當前位置:
魔兽世界wow > 編程開發 > vb >
  • vb教程之VB中用Winsock控件發信Email

  • 2017-09-22 22:27 來源:未知
使用控件有:Winsock控件,CommandButton 控件,TextBox 控件
編程步驟如下:
1.聲明變量
2.把如下代碼加到Command1的Command1_Click事件:
Private Sub Command1_Click()
Winsock1.LocalPort = 0 '設置本地使用的端口
Winsock1.Protocol = sckTCPProtocol '設置Winsock控件使用的協議,TCP或UDP。
Winsock1.RemoteHost="smtp.21cn.com" '設置發送Email的服務器
Winsock1.RemotePort = 25 '設置要連接的遠程端口號 
Winsock1.Connect '返回與遠程計算機的連接。
End Sub
這里要注意的是:Winsock1.RemotePort的值,80為HTTP,21為FTP,25為SMTP。

3.把如下代碼加到Winsock1的Connect事件:
Private Sub Winsock1_Connect() ''當一個 Connect 操作完成時發生
first = "mail from:" + Chr(32) + "[email protected]" + vbCrLf '發信人地址
Second = "rcpt to:" + Chr(32) + "[email protected]" + vbCrLf '收信人地址
DateNow = Format(Date, "Ddd") & ", " & Format(Date, "dd Mmm YYYY") & " " & Format(Time, "hh:mm:ss") & "" & " -0600"
Third = "Date:" + Chr(32) + DateNow + vbCrLf '開始發信時間
Fourth = "From:" + Chr(32) + "VB 小園" + vbCrLf '發信人姓名
Fifth = "To:" + Chr(32) + "Jimven"+ vbCrLf '收信人姓名
Sixth = "Subject:" + Chr(32) +"VB 小園更新通知" + vbCrLf '發信的主題
Seventh = "VB 小園已經更新" + vbCrLf '發信的內容
Ninth = "X-Mailer: EBT Reporter v 2.x" + vbCrLf
Eighth = Fourth + Third + Ninth + Fifth + Sixth 
Winsock1.SendData ("HELO www.21cn.com" + vbCrLf) '開始發送
Winsock1.SendData (first) 
Winsock1.SendData (Second)
Winsock1.SendData ("data" + vbCrLf)
Winsock1.SendData (Eighth + vbCrLf)
Winsock1.SendData (Seventh + vbCrLf)
Winsock1.SendData ("." + vbCrLf)
Winsock1.SendData ("quit" + vbCrLf)
End Sub

4.把如下代碼加到Winsock1的DataAmival事件:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) '接受數據時產生
On Error Resume Next '在錯誤處理程序結束后,恢復原有的運行
Dim webData As String
Winsock1.GetData webData, vbString '取得發信后的反饋信息,可以檢查是否錯誤
Text1.Text = Text1.Text + webData
'Debug.Print Text1.Text
End Sub 
相關教程