ASP本身没有发送邮件的能力但是如果你希望用ASP来发送EMAIL(例如你有一个消息只想让那些在你的留言薄上留了言的上网者们知道你希望上网者在你的留言薄上填写完成后你的留言簿便自动将该消息EMAIL给留言的上网者)那么你需要安装一个ASP组件并借助这些组件来帮你实现邮件的自动发送回复等工作
如果你的ASP及WEB数据库的运行平台是IIS(Internet Information Server )你可以使用CDONTSDLL如果你已经缺省安装过NT Option PackCDONTSDLL便存放在你机器的C:\\Winnt\\System\\目录下面有了该组件我们还不能立即应用它在对它进行应用之前我们必须先完成组件的注册那么怎样才能对CDONTSDLL进行注册呢?我们可以在MSDOS方式下进入到CDONTSDLL所在的目录C:\\Winnt\\System\\下输入
c:\\winnt\\system>regsvr cdontsdll
(如果我们想将其御载可用指令 c:\\winnt\\system>regsvr/u cdontsdll)
在完成了组件的注册后现在我们可以开始来解说如何对该组件的使用我们可以用下面简单的脚本来给留言簿的添加自动发EMAIL的功能
< %
Dim MailObject
Dim Email
Email = Requestform(\Email\)
Set MailObject = ServerCreateObject(\CDONTSNewMail\)
Set myMail = ServerCreateObject(\CDONTSNewMail\)
myMailSubject = \欢迎您下次再来\
MailObjectSend \你本人的EMAIL\ Email \欢迎您下次再来给我们留言\ myMailSend
Set myMail=Nothing
%>
将上述的代码COPY到manageasp 去一个简单的通过ASP来发送EMAIL的留言簿就实现了也许你并不会满意这种发EMAIL的方式理由很简单因为为了答谢你的网友对你的支持你昨晚熬夜足足写了几千字(也许是我说少了)的感激话语今早一大早起来才发现原来上述的留言簿竟然未具备发附件的功能瞧这有多气人的还好原来CDONTSDLL也可以用来发送附件事不宜迟我们立即就将其奉献出来< %
Dim MailObject
Dim Email Email = Request(\Email\)
Set MailObject = ServerCreateObject(\CDONTSNewMail\)
att_file=\D:\\cwj\\GOasp\\guestbook\\emailtxt\
f_name=\emailtxt\
MailObjectFrom=\你本人的EMAIL\
MailObjectTo = Email
MailObjectSubject=\感谢您对我们工作的支持\
MailObjectBody=\感谢您对我们工作的支持\
MailObjectAttachFile att_filef_name
MailObjectSend
%>
只需将上述的代码COPY下来用以取代第一个实例我们的留言簿便能实现自动发附件功能在这里值得我们注意的是att_file=\D:\\cwj\\GOasp\\guestbook\\emailtxt\
必须是我们放附件的绝对路径其实除了CDONTSDLL 组件外有许多由第三方厂商开发的组件你也可以使用例如据说连Intel公司也在用的ASPmail组件和似乎很受欢迎的w Jmail等等组件能受到大家的欢迎个中原由自是不言而宣的我们可以直接从以下地方去下载它们
ASPmail组件的下载地址
Jmail组件的下载地址
说实际的我的第一个用ASP来发送EMAIL的留言簿所用的组件就是ASPmail组件(自然是因为听说连Intel公司也在使用它的缘故)既然使用过了自然对其会有所了解我想在这里也不妨对ASPmail组件的使用作下简单的介绍
应用ASPmail组件的方法其实也很简单首先我们得先对该组件进行安装安装完毕后在ASPmail的安装目录下面会附有Sample实例我们只要对照着这些例子再稍加改动即可我在这里提供了一个实例给大家并单独将使用该组件时所涉及到的所有其它文件一并放在ASPmail目录下面大家可以从下载区下载后再细作研究我在这里只稍作一下简单的说明
首先我们在manageasp中输入<!#include file=\ASPmail/sendmailasp\ >并另存成manageasp而具体sendmailasp的脚本如下所示
< %
Set mailer = ServerCreateObject(\ASPMAILASPMailCtrl\)
%>
< %
name = Requestform(\name\)
email = Requestform(\email\)
subject = \欢迎您下次再来\
memo = \欢迎您下次再来留言!\
mailserver = \\
result = mailerSendMail(mailserver name email subject memo)
%>
这里值得大家注意的是mailserver = \\ 中填写的是SMTP服务器我在这里用了世纪的SMTP的邮件服务器来作例子当然你也可以用其它地方的或你自己的(真是羡慕煞人了)就是有一点非常重要你必须填写正确而且确信它们确实是开通了该服务至于我最后为什么又放弃了使用该组件大家用过之后很可能如我者也不会在少数原因很简单就因为该免费的组件会在你所发送的每一封信的下面讨厌地放上几句催你赶快去购买它的注册版的文字