使用控件有: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) + "yingzi007@21cn.com" + vbcrlf '发信人地址
second = "rcpt to:" + chr(32) + "yingzi007@21cn.com" + vbcrlf '收信人地址
datenow = format(date, "ddd") !amp; ", " !amp; format(date, "dd mmm yyyy") !amp;
" " !amp; format(time, "hh:mm:ss") !amp; "" !amp; " -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