利用Perl开发Internet/Intranet应用之二(4)
敬业的IT人
互联网
佚名
2008-1-11 9:38:08
----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);
------以在程序中自动收发邮件为例
----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);
- 最新文章
- 利用Perl开发Internet/Intranet应用之一[01-11]
- 利用Perl开发Internet/Intranet应用之二(..[01-11]
- 在CGI中实现session的想法和实现[01-11]
- 获取随机的密码[01-11]
- CGI绝对路径和相对路径的简便设置方法[01-11]
- CGI的安全(二)[01-11]
- 相关文章
- 利用Perl开发Internet/Intranet应用之一[01-11]
- 利用Perl开发Internet/Intranet应用之二(..[01-11]
- javascript + PHP 应用二:网..[01-10]
- ★★★ 检查应用程序的版本号 ★★★[01-10]
- 在网页中调用本地的应用程序!!!![01-10]
- FileSystemObject简介及应用[01-10]
