|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
笔者在实践中利用ASP的COM组件功能,在VB中实现了一个发邮件的小组件,在ASP中只通过轻松调用,就可以实现该功能。所有邮件处理机制都被封装在这个组件中,使用起来极为方便。下面将具体介绍该组件的基本开发原理以及在ASP中的应用。 1. 利用Winsock控件与发送邮件的SMTP联系 和SMTP的联系包括握手、发送数据以及关闭等全过程,主要程序如下: 建立一个frmsendmail 的窗体,其中包含一个Winsock控件,有以下几个公共变量: Public mSTMP As String //发送邮件的STMP Public mFrom As String //FROM 地址 Public mTo As String //到达地址 Public mSubject As String //邮件主题 Public mText As String //邮件正文 Sock.Connect mSTMP, 25 //和发送邮件的STMP建立联系 Private Sub Sock_Connect() SFlag = sfConn //连接成功后设置参数 End Sub Private Sub Sock_DataArrival(ByVal bytesTotal As Long) On Error GoTo daErr Dim s As String Sock.GetData s Select Case SFlag Case sfStart Case sfConn SFlag = sfHelo //发出握手信息HELLO Send "HELO " && mMyname Case sfHelo SFlag = sfFrom Send "MAIL FROM:" && GetReal(mFrom) Case sfFrom If Left(s, 3) 〈〉 "250" Then GoTo SrvErr //假如成功发送接收邮件地址 SFlag = sfRcpt Send "RCPT TO:" && GetReal(mTo) Case sfRcpt If Left(s, 3) 〈〉 "250" Then GoTo SrvErr //假如成功开始发送数据 SFlag = sfData Send "Data" Case sfData If Left(s, 3) 〈〉 "354" Then GoTo SrvErr SFlag = sfSendOver //数据包括4项,最后以 . 结束 Send "From: " && mFrom Send "To: " && mTo Send "Subject: " && mSubject && vbCrLf Send mText Send "." Case sfSendOver If Left(s, 3) 〈〉 "250" Then GoTo SrvErr SFlag = sfStart SendOk = True Send "Quit" End Select Exit Sub End Sub 2. 将上述功能封装在一个类中 由于ASP能使用的组件中不能存在控件,所以要通过类模块来封装上述窗体。首先在类初始化时建立一窗体: Private Sub Class_Initialize() Set frm = New frmSendMail End Sub 把窗体的公共变量作为属性封装在类模块中。 该窗体的函数接口为: Public Sub Send() frm.SendStart End Sub 3. 注册该组件 将上述工程编译成DLL文件,通过VB注册或手工注册都可以。 4. 在ASP中的应用 调用方式如下: Set sMail=Server.CreateObject("SendMailX.Mail") sMail.STMP="166.166.1.1" sMail.LogFile="e:Logsmail.log" sMail.mFrom = mFromName && " 〈" && mFromAddr && "〉" sMail.mTo = mToName && " 〈" && mToAddr && "〉" sMail.mSubject = mSubject sMail.mText = mText sMail.Send 其中变量可以通过赋值,也可以来自上一个request页面。 返回类别: 教程 上一教程: 如何使用ASP创建DSN 下一教程: 手把手教你使用VB来创建ASP组件(4) 您可以阅读与"实现ASP文件在线发邮件"相关的教程: · 简朴快捷实现ASP在线发邮件 · 简朴快捷实现ASP在线发邮件功能 · ASP环境下邮件列表功能的实现 (二) · ASP中实现文件上传方式的研究 · 使用ASP实现文件上载(上传)的各种方式 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |