作者yingwan (yingwan)
看板Perl
标题[问题]关於MAIL的问题
时间Thu Oct 30 12:34:49 2008
最近用perl做了一个CGI
使用者可以在网页上留言,然後程式会把这些留言寄给我
遇到的问题是,我只能收到留言的第一个字,之後的内容我完全无法收到
原本以为是因为我设纯量变数,所以我换成阵列,但是那样还是无法收到全部留言内容
希望好心人帮我看看我哪里需要改进,谢谢大家
#!/usr/bin/perl -w
#------------------------
#CGI for Contact_Us html
#------------------------
use CGI qw(:standard -debug);
use CGI::Carp qw(fatalsToBrowser);
#get input
$email= param ("email");
$subject= param ("subject");
$comments= param ("comments");
#checking for missing input
if ($email eq "") { push (@missing, "Email");}
if ($subject eq "") { push (@missing, "Subject");}
if ($comments eq "") { push (@missing, "Comments");}
$missing= join( ", ", @missing);
if ($missing) {
print header();
print start_html(-title=>"Missing Input");
print h2("Incomplete Input");
print p("You did not enter <b>$missing</b>");
print end_html();
exit;
}
#check for email
$goodmail=0;
if ($email=~ /^\w+\@\w/) {
$goodmail=1;
}
if ($goodmail==0) {
print header();
print start_html(-title=>"Bad Email Address");
print p("Your email address $email is not valid");
print end_html();
exit;
}
$admin="123\@yahoo.com.tw";
open (MAIL, "| mail $admin") || die "can't mail to administrator";
print MAIL "SUBJECT: $subject\n";
print MAIL "FROM: $email\n";
print MAIL "$comments\n";
close(MAIL);
print header();
print start_html(-title=>"Email Sent");
print p("Your comments has been sent, Thank you.\n");
print end_html();
exit;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 149.159.132.73
1F:→ giacch:我在freebsd上可以收到完整内容.从SUBJECT:到$comments多行 10/30 20:40
2F:→ giacch:不过信件的subject与from和内容的FROM SUBJECT无相关.. 10/30 20:43
3F:→ giacch:html可能有问题... (逃~~~~~ 10/30 20:48
4F:→ yingwan:我不是用网路伺服器测,我是在command line测只能收到第一 10/30 21:07
5F:→ yingwan:网路伺服器目前有点问题所以我无法在网路上测 10/30 21:08
6F:→ yingwan:我待会用用看你说的freebsd好了,虽然我不知道那是啥 10/30 21:10
7F:→ giacch:freebsd是os 先搞定伺服器 and 测完再说吧~ 10/30 21:16