荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: icefire (懒懒的心懒懒的我), 信区: Program
标  题: [转载] [转寄] Re: 问一个关于perl CGI的问题
发信站: BBS 荔园晨风站 (Sun Nov 22 19:16:32 1998), 站内信件

【 以下文字转载自 icefire 的信箱 】
【 原文由 icefire.bbs@melon.gznet.edu.cn 所发表 】
发信人: wooce (残雪), 信区: CGI
标  题: Re: 问一个关于perl CGI的问题
发信站: 华南网木棉站 (Sat Nov 21 15:40:38 1998), 转信

如果发不带附件的email则很容易,可参考以下程序
#!/usr/bin/perl
#文件名: mail.pl
$|=1;
print "Content-type:text/html\n\n";
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
@pairs=split(/&/,$buffer);
foreach $pair(@pairs){
     ($name,$value)=split(/=/,$pair);
     $value=~tr/+/ /;
     $value=~s%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
     $FORM{$name}=$value;
    }
#mail程序的绝对路径,可以使用"which mail"指令来得知
$mail="/usr/ucb/mail";
#收信人的email地址
$who="jcjung@term.nctu.edu.tw";

#在$mail变量左边有一个|符号,作用是把MAIL Filehandle的数据内容输出到
#$mail指定的mail程序,加-s这个参数的功能就是要加上信件的标题,即加上
#"Form:$FORM{'name'}"这个字符串
open(MAIL,"|$mail-s\"From:$FORM{'name'}\"$who")||die "Open Fail!\n";
print MAIL "我的姓名:$FORM{'name'}\n";
print MAIL "$FORM{'suggest'}";
print MAIL "\n---------------------------\n";
close(MAIL);
print "<h2>谢谢你的来信指教,本公司会尽快处理!</h2>";

发带附件的email就复杂些,需考虑MIME类型问题,请找些MIME的详细资料来看
【 在 gyk (kam) 的大作中提到: 】
:     请问用perl编写CGI时,怎样在Web页面通过表单发带有附件的信?


--
※ 来源:.华南网木棉站 bbs.gznet.edu.cn.[FROM: 202.38.212.56]
--
※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: linux.szu.edu.cn]
--
※ 转载:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.22]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店