当前位置: 首页 > 图文教程 > 网络编程 > ASP > 怎样写你自己的EMAIL组件(原理)

ASP
对连串英文自动换行的解决方法 IE5.5
怎样写你自己的EMAIL组件(原理)
ASP中有关timeout超时的体会
用ASP实现从SQL Server导出数据到Access
ASP向NT域中加一个用户
ASP乱码的解决方法
关于 aspsmartupload 注册问题
利用XML不离开页面刷新数据
IIS 处理 SEARCH 请求漏洞
不用组件实现上载功能(1)
不用组件实现上载功能(2)
在网页中实现OICQ里的头像选择的下拉框
仅用xsl和asp实现分页功能
如何使用context()方法将数据置入表格(XML)
利用ASP从远程服务器上接收XML数据
将数据库里面的内容生成EXCEL
怎样在ASP里面创建统计图表
加密你的Access数据库
利用global.asp定时执行ASP
加密QueryString数据

ASP 中的 怎样写你自己的EMAIL组件(原理)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 21 ::
收藏到网摘: n/a

  首先我们看看EMAIL组件是干什么的,和怎么干的。我所说的EMAIL组件是用来发
送EMAIL的,不是接受和处理EMAIL的,这点大家一定要明白。而组件本身并不是
SMTP,所以需要一台SMTP服务器。ASP页面通过调用组件可以向SMTP服务器发送邮件,只要符合SMTP就可以了。

这里我们要用的WINSOCK控件,因为WINSOCK是控件,所以不能用在没窗体的地方
。这里有两个解决方法。第一个是我从报纸看到的,建立一个窗体在DLL里面,然后把WINSOCK放上去,再把代码写进去,在CLASS模块里建立一个该窗体的实例来使用。但这方法我试过,不成功,也不知道哪里有问题。另一个方法是再引用组件的时候,按旁边有个浏览的按钮,可以选择需要的OCX文件,也就是控件,使用方法和组件无异。

有了WINSOCK后,通信的愿望就可以实现了,具体WINSOCK的用法我就不说,很简
单,大家查一下MSDN不出半小时就完全明白了。

这里主要说说SMTP,想了解得更透彻,可以TELNET到任何一台SMTP服务器得25端
口,实验一下。

当我们建立好连接,也等于你TELNET到SMTP服务器的25端口后,会有一段欢迎信
息。大家留意该信息的头的一个数字,这是成功的意思,大家可以在程序里检查
对方发来的信息是否有这个头,有的话表示成功,后面几步都有这个信息的。得
到欢迎信息后,发出HELO和你的域名,如HELO ETANG.COM(我在这公司),然后
成功的话进入下一步。

HELLO讲完了,看看服务器怎样说,如果返回一个数字和OK,那就好了,我们再发
送MAIL FROM:发送人的EMAIL地址。

成功后再发送RCPT TO:收信人的地址。

然后发送DATA,表示开始输入正文数据,正文通常是包含有From:、To:、Subjec
t:、然后是一个回车,正文,结束用回车.回车表示。

最后发送QUIT指令。

以下是TELNET的全过程:
>>220 w2.ETANGW2 ESMTP Server (Microsoft Exchange Internet Mail Servic
e 5.5.2650.21) ready
HELO ETANG.COM
>>250 OK
MAIL FROM:[email protected]
>>250 OK - mail from <[email protected]>
RCPT TO:[email protected]
>>250 OK - Recipient <[email protected]>
DATA
>>354 Send data. End with CRLF.CRLF
From:[email protected]
To:[email protected]
Subject:Test

This is a Test Letter
.
>>250 OK
QUIT

前面有>>表示为服务器返回信息。