免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4168 | 回复: 15

求助perl问题 [复制链接]

论坛徽章:
0
发表于 2003-04-14 21:54 |显示全部楼层
我用perl编了一个邮件发送程序

这个程序在linux下用perl mail.cgi可以成功完成发送工作

但是这个程序通过web来执行,就会没有反应,直到程序死亡,显示错误,不能完成mail发送

例如:http://www.leftworld.net/mail.cgi
和http://www.leftworld.net/ail.cgi

这两个程序分别用两种方法编写,程序如下:

mail.cgi

#!/usr/bin/perl -w

    open (MAIL, "| /usr/sbin/sendmail wichcat\@hotmail.com" || die "logo system error";
    print MAIL "Reply-to:\n";
    print MAIL "From: adminmail\n";
    print MAIL "Subject: title\n\n";
    print MAIL "name 你好,这是你在title许的愿望。\n";
    print MAIL "----------------------------------------------------------\n";
    print MAIL "名  字   :  name\n";
    print MAIL "愿望类别   :  qqnum\n";
    print MAIL "主页地址   :  url\n";
    print MAIL "信箱地址   :  email\n";
    print MAIL "登记时间   :  date_time\n";
    print MAIL "愿望内容   :  content  \n";
    print MAIL "------------------------------------------------------\n";
    print MAIL "title abs_url\n";
    print MAIL "左岸贵族网络出品 http://www.leftworld.net\n";
    close (MAIL);
print "done";



ail.cgi 如下:

#!/usr/bin/perl -w
open(MAIL,">;tempfile";
print MAIL "stuff to be emailed .. la la la ..\n";
close (MAIL);
system("cat tempfile | /usr/sbin/sendmail wichcat\@hotmail.com";
system("rm tempfile";
print "done";


请斑竹指教,我想了好几天未果。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2003-04-14 23:18 |显示全部楼层

求助perl问题

HTML header, 格式不對..CGI一定要有那些東西的...
當然如果你用類似Tomcat, Websphere,BEA之類的..
就可以不用考慮這些....你看apache的log一定是跟你說
你的格式不對...

论坛徽章:
0
发表于 2003-04-15 09:15 |显示全部楼层

求助perl问题

请指教

我应该怎么改

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
发表于 2003-04-15 10:00 |显示全部楼层

求助perl问题

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print <<TTT;
<html>;
<head>;
<title>;
test
<title>;
</head>;
<body>;
TTT
your code here..
print <<TTT2;
</body>;
<html>;
TTT2
當然你也可以用CGI.pm去做...我不習慣用那個module...

论坛徽章:
0
发表于 2003-04-15 10:19 |显示全部楼层

求助perl问题

谢谢
那我这么写也应该没有错吧???

#!/usr/bin/perl -w
print "Content-type:text/html\n\n";

print "<html>;";
print "<head>;";
print "<title>;";
print "test";
print "</title>;";
print "</head>;";  
print "<body>;";


open (MAIL, "| /usr/sbin/sendmail wichcat\@hotmail.com" || die "logo system error";
    print MAIL "Reply-to:\n";
    print MAIL "From: adminmail\n";
    print MAIL "Subject: title\n\n";
    print MAIL "name 你好,这是你在title许的愿望。\n";
    print MAIL "----------------------------------------------------------\n";
    print MAIL "名  字   :  name\n";
    print MAIL "愿望类别   :  qqnum\n";
    print MAIL "主页地址   :  url\n";
    print MAIL "信箱地址   :  email\n";
    print MAIL "登记时间   :  date_time\n";
    print MAIL "愿望内容   :  content  \n";
    print MAIL "------------------------------------------------------\n";
    print MAIL "title abs_url\n";
    print MAIL "左岸贵族网络出品 http://www.leftworld.net\n";
    close (MAIL);

print "done";
print "</body>;";
print "</html>;";

论坛徽章:
0
发表于 2003-04-16 12:30 |显示全部楼层

求助perl问题

$content = "hello,";
system("echo \"$content\" >; temp.txt";
system("mail -s \"hello\" xxx\@xxx.com < temp.txt";

其实就是shell,  

论坛徽章:
0
发表于 2003-04-24 10:05 |显示全部楼层

求助perl问题

原帖由 "deathcult" 发表:
$content = "hello,";
system("echo \"$content\" >; temp.txt";
system("mail -s \"hello\" xxx\@xxx.com < temp.txt";

其实就是shell,  



呵呵

就是这种shell在web里不能运行,应该是apache配置的问题
但是我现在拿不到error.log文件分析,所以请教大家.

论坛徽章:
0
发表于 2003-05-13 09:14 |显示全部楼层

求助perl问题

system 等系统级操作在有用户权限情况下(有时候是 root 权限下) 是可以以 shell 方式运行良好的,但在 web server 中, 权限则是 apache 等webserver 的权限,不一定有足够权限来运行 shell 程序或系统级程序。

论坛徽章:
0
发表于 2003-05-13 21:51 |显示全部楼层

求助perl问题

可是我以普通的用户登陆服务器

然后运行perl mail.cgi毫无问题

还有这个程序在其他的liunx里能够运行


所以我想找到apache的错误在哪里,在服务器的log里没有记录

论坛徽章:
0
发表于 2003-05-14 14:47 |显示全部楼层

求助perl问题

这样试试:
system()以后,抓取$! $?的输出结果。$?差不多能给你一些提示。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP