|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件笔者在理论中使用ASP的COM组件功效,在VB中完成了一个发邮件的小组件,在ASP中只经由过程轻松挪用,就能够完成该功效。一切邮件处置机制都被封装在这个组件中,利用起来极其便利。上面将具体先容该组件的基础开辟道理和在ASP中的使用。
1.使用Winsock控件与发送邮件的SMTP接洽
和SMTP的接洽包含握手、发送数据和封闭等全历程,次要程序以下:
创建一个frmsendmail的窗体,个中包括一个Winsock控件,有以下几个大众变量:
PublicmSTMPAsString
//发送邮件的STMP
PublicmFromAsString
//FROM地点
PublicmToAsString
//抵达地点
PublicmSubjectAsString
//邮件主题
PublicmTextAsString
//邮件注释
Sock.ConnectmSTMP,25
//和发送邮件的STMP创建接洽
PrivateSubSock_Connect()
SFlag=sfConn
//毗连乐成后设置参数
EndSub
PrivateSubSock_DataArrival(ByValbytesTotalAsLong)
OnErrorGoTodaErr
DimsAsString
Sock.GetDatas
SelectCaseSFlag
CasesfStart
CasesfConn
SFlag=sfHelo
//收回握手信息HELLO
Send"HELO"&&mMyname
CasesfHelo
SFlag=sfFrom
Send"MAILFROM:"&&GetReal(mFrom)
CasesfFrom
IfLeft(s,3)〈〉"250"ThenGoToSrvErr
//假如乐成发送吸收邮件地点
SFlag=sfRcpt
Send"RCPTTO:"&&GetReal(mTo)
CasesfRcpt
IfLeft(s,3)〈〉"250"ThenGoToSrvErr
//假如乐成入手下手发送数据
SFlag=sfData
Send"Data"
CasesfData
IfLeft(s,3)〈〉"354"ThenGoToSrvErr
SFlag=sfSendOver //数据包含4项,最初以.停止
Send"From:"&&mFrom
Send"To:"&&mTo
Send"Subject:"&&mSubject&&vbCrLf
SendmText
Send"."
CasesfSendOver
IfLeft(s,3)〈〉"250"ThenGoToSrvErr
SFlag=sfStart
SendOk=True
Send"Quit"
EndSelect
ExitSub
EndSub
2.将上述功效封装在一个类中
因为ASP能利用的组件中不克不及存在控件,以是要经由过程类模块来封装上述窗体。起首在类初始化时创建一窗体:
PrivateSubClass_Initialize()
Setfrm=NewfrmSendMail
EndSub
把窗体的大众变量作为属性封装在类模块中。
该窗体的函数接口为:
PublicSubSend()
frm.SendStart
EndSub
3.注册该组件
将上述工程编译成DLL文件,经由过程VB注册或手工注册都能够。
4.在ASP中的使用
挪用办法以下:
SetsMail=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页面。
因为版面所限,不克不及具体叙说,必要此组件的伴侣能够到http://flyfly.533.net的软件编程栏目高低载。
ASP脚本是采用明文(plaintext)方式来编写的。 |
|