作者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
→ giacch:我在freebsd上可以收到完整內容.從SUBJECT:到$comments多行 10/30 20:40
→ giacch:不過信件的subject與from和內容的FROM SUBJECT無相關.. 10/30 20:43
→ giacch:html可能有問題... (逃~~~~~ 10/30 20:48
→ yingwan:我不是用網路伺服器測,我是在command line測只能收到第一 10/30 21:07
→ yingwan:網路伺服器目前有點問題所以我無法在網路上測 10/30 21:08
→ yingwan:我待會用用看你說的freebsd好了,雖然我不知道那是啥 10/30 21:10
→ giacch:freebsd是os 先搞定伺服器 and 測完再說吧~ 10/30 21:16