当前位置:首页 > 网络编程 > 软件语言 > DELPHI > Delphi4开发WEBMAIL程序

Delphi4开发WEBMAIL程序

点击次数:35 次 发布日期:2008-11-09 08:38:26 作者:源代码网
源代码网推荐
广告载入中
通常,实现WEBMAIL采用mailto.exe的CGI、在HTML文件中写入“< form action="mailto:电子邮箱地址" method=post >”语句或者调用WINDOWS API函数。采用WINDOWS API 和在HTML文件中写入“< form action="mailto:电子邮箱地址" method=post >”语句都要求用户的浏览器装入EXCHANGE、OUTLOOKEXPRESS、或OUTLOOK等软件,而且还有一些浏览器不支持MAILTO语句。而采用CGI的形式实现WEBMAIL对用户的浏览器没有要求,但效率不高。CGI技术正在逐渐被ISAPI/NSAPI技术所取代。本文就来讨论一下采用ISAPI技术实现WEBMAIL。
源代码网推荐
源代码网推荐   使用Delphi 4开发Web Server程序是非常简单的,Delphi 4中提供了大量的元件和对象,支持Web Server程序的开发。 下面通过一个例子来介绍如何利用DELPHI开发一个响应用户输入的ISAPI的WEBMAIL程序。只有在发送服务器上注册的用户才能通过在浏览器发送邮件。为了简单,程序没有对传送的数据提供保密。
源代码网推荐
源代码网推荐   首先,在WEB服务器端安装数据库引擎dbe,并设置好数据库别名:yh,指向一个包含用户名和用户密码的数据库文件user.db。接着建立两个HTML文件,名字分别为:dl.html,qd.html,放在WEB服务器的缺省目录下(如:C:INETPUBWWWROOT)。

源代码网推荐
源代码网推荐 dl.html的内容如下:
源代码网推荐
源代码网推荐 < html >
源代码网推荐
源代码网推荐 < head >< title > 发送邮件系统< /title >< /head >
源代码网推荐
源代码网推荐  < body >
源代码网推荐
源代码网推荐   < h1 >发送邮件系统< /h1 >
源代码网推荐
源代码网推荐   < p > 请输入您的用户名及密码。< /p >
源代码网推荐
源代码网推荐   < form method=”post” action="/scripts/xsmd" >
源代码网推荐
源代码网推荐    < p >用户名:< input type="text" length=10
源代码网推荐
源代码网推荐      name="username" >
源代码网推荐
源代码网推荐     密码:< input type="password"
源代码网推荐
源代码网推荐         length=10 name="password" >< /p >
源代码网推荐
源代码网推荐    < p >< input type="submit" value="确定" >
源代码网推荐
源代码网推荐    < input type="reset" value="清除" >< /p >
源代码网推荐
源代码网推荐   < /form >
源代码网推荐
源代码网推荐 < /body >
源代码网推荐
源代码网推荐 < /html >
源代码网推荐
源代码网推荐 qd.html文件内容如下:
源代码网推荐
源代码网推荐 < html >< head >< title >填表< /title >< /head >
源代码网推荐
源代码网推荐  < body >
源代码网推荐
源代码网推荐   < form method=”post” action="feedback" >
源代码网推荐
源代码网推荐     < p >请填入接收邮件地址:toaddress:
源代码网推荐
源代码网推荐    < input type=”text” length=20
源代码网推荐
源代码网推荐     name=”toaddress” >< /p >
源代码网推荐
源代码网推荐     < p >请填入主题。< input type="text"
源代码网推荐
源代码网推荐       length=20 name="subject" >< /p >
源代码网推荐
源代码网推荐     < p >内容:< /p >
源代码网推荐
源代码网推荐     < p >< input type=“textarea”length=40
源代码网推荐
源代码网推荐     width=40 name=”body” >< /p >
源代码网推荐
源代码网推荐     < p >< input type="submit" value="确定" >
源代码网推荐
源代码网推荐   < input type="reset" value="清除" >< /p >
源代码网推荐
源代码网推荐    < /form >
源代码网推荐
源代码网推荐  < /body >
源代码网推荐
源代码网推荐 < /html >
源代码网推荐  
源代码网推荐
源代码网推荐 在DELPHI中新建一个基于ISAPI的WEB SERVER APPLICATION,手动增加nmsmtp1,query1,pageproducer1。
源代码网推荐
源代码网推荐 其中:pageproducer1的property: htmlfile:c:inetpubwww.rootqd.html。nmsmtp1的 property:host(发送邮件服务器的地址。)在这里为smtp.netease.com.。port:25。 全局变量为: sername:string;flag:boolean;
源代码网推荐
源代码网推荐 增加一个路径为/feedback的动作项,其代码如下:
源代码网推荐
源代码网推荐 procedure TWebModule1.WebModule1WebActionItem1
源代码网推荐
源代码网推荐   Action(Sender: TObject;
源代码网推荐
源代码网推荐  Request: TWebRequest; Response:
源代码网推荐
源代码网推荐   TWebResponse; var Handled: Boolean);
源代码网推荐
源代码网推荐 Var Count:integer;
源代码网推荐
源代码网推荐    S:string;
源代码网推荐
源代码网推荐 Begin
源代码网推荐
源代码网推荐  Query1.close;
源代码网推荐
源代码网推荐  Query1.sql.clear;
源代码网推荐
源代码网推荐  S:=’select count(username) from
源代码网推荐
源代码网推荐    user.db where username=”’;
源代码网推荐
源代码网推荐  S:=s request.contentfields.values[‘username’] ’”’;
源代码网推荐
源代码网推荐  S:=s ’ and password=”’;
源代码网推荐
源代码网推荐  S:=s request.contentfields.values[‘psword’] ’”’;
源代码网推荐
源代码网推荐  Query1.sql.add(S);
源代码网推荐
源代码网推荐  Query1.open;
源代码网推荐
源代码网推荐 If query1.count=0
源代码网推荐
源代码网推荐 then response.content:=’< html >< head >< title >
源代码网推荐
源代码网推荐 < /title >< body >用户名、密码不正确,请重新输入
源代码网推荐
源代码网推荐 < /body >< /html >’
源代码网推荐
源代码网推荐 Else 
源代码网推荐
源代码网推荐   Username:=request.contentfields.values[‘username’];
源代码网推荐
源代码网推荐   Response.content:=pageproducer1.content;
源代码网推荐
源代码网推荐 End;
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐 再增加一个路径为/sendmail 的动作项,
源代码网推荐
源代码网推荐    它的程序代码如下:
源代码网推荐
源代码网推荐 procedure TWebModule1.WebModule1Web
源代码网推荐
源代码网推荐    ActionItem2Action(Sender: TObject;
源代码网推荐
源代码网推荐  Request: TWebRequest; Response:
源代码网推荐
源代码网推荐 TWebResponse; var Handled: Boolean);
源代码网推荐
源代码网推荐 Var body:string;
源代码网推荐
源代码网推荐 Begin
源代码网推荐
源代码网推荐  Flag:=true;
源代码网推荐
源代码网推荐  body:=request.contentfields.values[‘body’];
源代码网推荐
源代码网推荐  Pageproducer1.htmldoc.clear;
源代码网推荐
源代码网推荐  Pageproducer1.htmldoc.add(‘< html >< body >’);
源代码网推荐
源代码网推荐  Nmsmtp1.postmessage.clear;
源代码网推荐
源代码网推荐  Nmsmtp1.postmessage.fromaddress:=username
源代码网推荐
源代码网推荐  ’@netease.com’;
源代码网推荐
源代码网推荐  Nmsmtp1.postmessage.from:=username;
源代码网推荐
源代码网推荐  Nmsmtp1.postmessage.body.add(body);
源代码网推荐
源代码网推荐  Nmsmtp1.postmessage.toaddress.add
源代码网推荐
源代码网推荐  (request.contentfields.values[‘toaddress’]);
源代码网推荐
源代码网推荐  Nmsmtp1.postmessage.subject:=
源代码网推荐
源代码网推荐  request.contentfields.values[‘subject’];
源代码网推荐
源代码网推荐  Nmsmtp1.connect;
源代码网推荐
源代码网推荐  If flag=true then begin Nmsmtp1.sendmail;
源代码网推荐
源代码网推荐  nmsmtp1.disconntent;end
源代码网推荐
源代码网推荐  pageproducer1.htmldoc.add
源代码网推荐
源代码网推荐  (‘< /body >< /html >’);
源代码网推荐
源代码网推荐  response.content:=pageproducer1.content;
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐 end;  
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐 增加nmsmtp1的事件如下:
源代码网推荐
源代码网推荐 procedure TWebModule1.NMSMTP1Connect(Sender: TObject);
源代码网推荐
源代码网推荐 begin
源代码网推荐
源代码网推荐  pageproducer1.htmldoc.add
源代码网推荐
源代码网推荐 ("< p >已经和发送邮件服务器连接< /p >");
源代码网推荐
源代码网推荐 end;
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐 procedure TWebModule1.NMSMTP1Connection
源代码网推荐
源代码网推荐 Failed(Sender: TObject);
源代码网推荐
源代码网推荐 begin
源代码网推荐
源代码网推荐  flag:=false;
源代码网推荐
源代码网推荐  pageproducer1.htmldoc.add
源代码网推荐
源代码网推荐 ("< p >连接失败< /P >");
源代码网推荐
源代码网推荐 end;
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐 procedure TWebModule1.NMSMTP1ConnectionRequired
源代码网推荐
源代码网推荐 (var Handled: Boolean);
源代码网推荐
源代码网推荐 begin
源代码网推荐
源代码网推荐  pageproducer1.htmldoc.add("< p >要求进行连接< /p >");
源代码网推荐
源代码网推荐 end;
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐 procedure TWebModule1.NMSMTP1Failure(Sender: TObject);
源代码网推荐
源代码网推荐 begin
源代码网推荐
源代码网推荐  pageproducer1.htmldoc.add("< p >发送邮件失败< /p >");

源代码网推荐
源代码网推荐  flag:=false;
源代码网推荐
源代码网推荐 end;
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐 procedure TWebModule1.NMSMTP1Header
源代码网推荐
源代码网推荐 Incomplete(var handled: Boolean;
源代码网推荐
源代码网推荐  hiType: Integer);
源代码网推荐
源代码网推荐 begin
源代码网推荐
源代码网推荐  pageproducer1.htmldoc.add("< p >head不完整< /p >");
源代码网推荐
源代码网推荐  flag:=false;
源代码网推荐
源代码网推荐 end;
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐 procedure TWebModule1.NMSMTP1InvalidHost
源代码网推荐
源代码网推荐 (var Handled: Boolean);
源代码网推荐
源代码网推荐 begin
源代码网推荐
源代码网推荐  pageproducer1.htmldoc.add("< p >
源代码网推荐
源代码网推荐 发送邮件服务器地址无效< /p >");
源代码网推荐
源代码网推荐  flag:=false;
源代码网推荐
源代码网推荐 end;
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐 procedure TWebModule1.NMSMTP1RecipientNot
源代码网推荐
源代码网推荐 Found(Recipient: String);
源代码网推荐
源代码网推荐 begin
源代码网推荐
源代码网推荐  pageproducer1.htmldoc.add
源代码网推荐
源代码网推荐 ("< p >接受邮件地址不正确< /p >");
源代码网推荐
源代码网推荐  flag:=false;
源代码网推荐
源代码网推荐 end;
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐
源代码网推荐 procedure TWebModule1.NMSMTP1Success(
源代码网推荐
源代码网推荐 Sender: TObject);
源代码网推荐
源代码网推荐 begin
源代码网推荐
源代码网推荐  pageproducer1.htmldoc.add("< p >
源代码网推荐
源代码网推荐 成功发送邮件< /p >");
源代码网推荐
源代码网推荐 end; 
源代码网推荐   将project存为sendmail.dpr,编译后放到WEB服务器的可执行文件路径下(如:c:intpubscripts),即可响应HTML文件dl.htm的用户输入,并且如果用户的用户名及密码正确则可进入发送邮件的页面,用户填写接受邮件地址及主题、内容后即可发送邮件。此程序在NT SERVER上调试通过。


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华