如果我想用收信的方式來接收留言,是不是要寫一個.cgi的程式碼?
寫在WordPad 後存成 .cgi 副檔名嗎?
.cgi程式碼是這樣寫嗎qq?因為我也是複製網友們的分享...
#!/usr/bin/perl
$|=1; #關閉緩衝記憶區
#-----請修改以下兩筆資料
$mailpath = "/usr/sbin/sendmail.cgi"; #郵寄程式路徑在此設定
$mailto = '
kakabb0123@sinahappy.com'; #收信人信箱地址在此設定
#-----此行以下部份不必修改
# 接收 Get、Post 傳遞內容
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
$buffer = $ENV{'QUERY_STRING'};
}
@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;
$value =~ s/>/>/g;
$value =~ s/</g;
$FORM{$name} = $value;
}
$mailto = ($FORM{mailto} ne '') ? $FORM{mailto} : $mailto;
if (($FORM{name} eq '') || ($FORM{email} eq '') || ($FORM{subject} eq '') || ($FORM{content} eq '')) {
die "有空欄位未確實填寫!!
回上一頁";
}
#寄出留言
open(MAIL,"| $mailpath $mailto") || die "無法開通 $mailpath!\n";
print MAIL "To: $mailto\n"; #收信人信箱地址
print MAIL "Form: $FORM{email}\n"; #留言者名稱<信箱地址>
print MAIL "Subject: $FORM{subject}\n"; #標題主旨
print MAIL "寄件人:$FORM{name}<$FORM{email}>\n";
print MAIL "======================================\n";
print MAIL "$FORM{content}\n"; #留言內容
print MAIL "======================================\n";
print MAIL "\n\n";
close(MAIL);
#留言完成訊息
print "Content-type:text/html;charset=big5\n\n";
print "留言已成功\寄出.";
exit; #結束程式
然後把上面的txt檔改成.cgi檔,再上載到我的網頁位置嗎?
想問一下大大們知道sina.com有沒 .cgi 的空間來支援 sendmail 寄信功能?
而且不知道以上我寫的 sendmail 程式碼確實路徑位置對不對~"~??