----5 怎样在程序中调用系统命令
------以在程序中自动收发邮件为例
----cgi的推出就是为了使webserver可以与更多的数据源沟通,常用的数据源有三种:数据库、非关系型数据文件(如txt文本)、邮件系统。前二者的连接和读写都有很多的方法,这里就不再相述。我主要想谈谈在cgi程式中怎样才能读取到邮件系统的邮件,自动发送邮件又是怎样进行的。microsoft最近推出了ado(activexdataobject),只要相应数据源能提供oledb(dataproviderinterfaces),我们的应用程序就可调用ado透明的访问该数据源(包括前面我们提到的三种数据源)。这种应用在邮件系统方面现在还只限于在microsoftexchangeserver上,由于这是新标准,实用与否还要看数据源供应商的反应和是否提供oledb接口。下面,我给大家介绍另外一种较为通用的实现方法。
----读取邮件:在很多unix系统中,邮件一般都放在/var/mail目录下,每个用户的邮件就存放在一个以该用户名命名的文本文件中,例如:/var/mail/zyr。如果我们要读取或查找该邮件信息,只要打开相应的文件即可。但该程式的运行者须有读取该用户邮件的权限,可在系统中用命令chmod进行设置。下面以一个perl程序为例:
----#该程序用于读取邮件,如果成功就把每一行数据打印出来
#!/bin/perl
#如果该路径已加入path中,上句可省
$mail_path="/var/mail/zyr";
#邮件路径
if(!open(vmail,"< $mail_path")){
print"can'topen$mail_path";
exit;
}
else{
while($temp=< vmail >){
#取出每一行数据放在$temp中
print$temp;
}
}
close(vmail);
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器