简单电子邮件发送程序

文章作者 100test 发表时间 2008:01:04 13:36:09
来源 100Test.Com百考试题网


本文将向你介绍如何编写一个能发送简单的电子邮件的程序。所谓简单是指本程序只能发送纯文本,并且一次只能发送给一个收件人。

首先新建一个工程。

将窗体的Name属性改为"frmSendMail" ,Caption属性改为"Simple Mail sender", BorderStyle 属性值设为"1 - Fixed Single"。

向窗体中添加一个Winsock控件。

将上面的New Message, Send Message ?Close 等命令按钮的Name属性分别改为cmdNew, cmdSend ?及cmdClose。

将下面的代码添加到相应的事件中

Private Sub cmdNew_Click()

txtRecipient = ""
txtSubject = ""
txtMessage = ""

End Sub

Private Sub cmdClose_Click()

Unload Me

End Sub

现在来写发送邮件的代码。

如果你看过本站的上一篇文章“SMTP协议简介”的话,你就已经知道了我们在这里会用到一些什么样的命令。这些命令必须严格按照预先规定的顺序来发送。为了跟踪这一顺序,我们将用到一个特殊的变量m_State,我们将用它来存储当前的SMTP进程的状态。

你可以将SMTP进程状态看作是等待服务对某一命令反应的状态,也就是说向服务器发送了多少个命令就有多少个状态。我们无法用VB的数据类型来描述进程所处的状态。因此本程序中用到了一个特殊的数据类型"SMTP_State" 。把下面的代码添加到窗体的声明段中:

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

把下面的代码放在Send Message的Click事件中。

Private Sub cmdSend_Click()

Winsock1.Connect Trim$(txtHost), 25
m_State = MAIL_CONNECT

End Sub

上面的代码第一行用来同服务器建立连接,25是SMTP服务器的默认端口号。接下来要做的就是在Winsock的DataArrival事件中编写代码处理服务的回应。


相关文章


用VB创建自己的通信程序
用VB开发标准CGI程序
怎样用VB得知系统当前是否处于internet链结状态
简单电子邮件发送程序
在VB中用Outlook发电子邮件
在VB中实现文件上传
在VB中操纵OLE服务器应用程序
用Wi ock实现点对点通信
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛