Cgi基礎(chǔ)圖文說明教程之:10 email子過程
發(fā)表時(shí)間:2024-02-03 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]email子過程 #*****************BEGIN BODY************* print "<h1>Thank you for filling out the form</h1>"; $firstname = $value[...
email子過程
#*****************BEGIN BODY*************
print "<h1>Thank you for filling out the form</h1>";
$firstname = $value[0];
$lastname = $value[1];
$email = $value[2];
print "Your first name is $firstname<BR>";
print "Your last name is $lastname<BR>";
print "Your e-mail is $email<BR>";
$to = $email;
$from = "clinton\@whouse.gov";
$sub = "subject of my first e-mail";
$body = "The form was filled out by $firstname $lastname
Thank you goes on another line.";
&email($to,$from,$sub,$body);
#***************END BODY******************
--------------------------------------------------------------------------------
在上面的例子中,我在程序的BODY后面增加了7行。你需要拷貝這些行到test2.cgi的BODY中。有兩種方式:
在PC上的文本編輯器中進(jìn)行拷貝和粘貼,然后用FTP重新上傳,這時(shí)不必重新運(yùn)行chmod。
可以在Unix提示符下運(yùn)行Emacs或Pico,對(duì)文件進(jìn)行修改,然后保存和退出。
這時(shí)你可以再試試form。要在testform.htm頁面中輸入你自己的郵件地址。當(dāng)你提交這個(gè)form時(shí),顯示結(jié)果與以前一樣。但如果你在幾秒種后查看你的e-mail,你會(huì)看到一封來自President Clinton的消息。
讓我們看看這些行:
$to = $email;
- 拷貝變量$email中的內(nèi)容到變量$to中。
$from = "clinton\@whouse.gov";
- 設(shè)置變量$form為clinton@whouse.gov。反斜線(\)稱為escape character。@符號(hào)在Perl中有特殊意義,表示一個(gè)數(shù)組,這時(shí),如果我們不想引用數(shù)組,而只用@符號(hào)本身,需要在前面加一個(gè)"\"。
例如,如果我敲入下面這行:
$amount = "He owes me $20.00";
將得到一個(gè)錯(cuò)誤,因?yàn)镻erl將試圖訪問一個(gè)稱為$20.00的變量。我們可以這樣寫:
$amount = "He owes me \$20.00";
$sub = "subject of my first e-mail";
這行很直接。
$body = "The form was filled out by $firstname $lastname Thank you goes on another line.";
這只是一個(gè)命令 - Perl命令總以分號(hào)結(jié)束。返回的字符是賦給$body的字符串中的另一個(gè)字符。這很方便,因?yàn)榭梢郧萌胍?hào),然后象在字處理器中一樣敲入多行文本,然后用引號(hào)結(jié)束。最后,象其它語句一樣敲入引號(hào)。
也可以象這樣而得到相同的結(jié)果:
$body = "The form was filled out by $firstname $lastname \n Thank you goes on another line.";
\n為換行符 - 當(dāng)雙引號(hào)中包含\n時(shí),把它翻譯成回車符。這對(duì)email也起作用 - 它是用Ascii,而不是HTML寫的。注意HTML不在意源代碼是在一行還是在多行。如果想在HTML中加入一行,需要插入一個(gè)<BR>或<P>標(biāo)記符。
&email($to,$from,$sub,$body);
email子過程在下面的readparse子過程中定義。它被配置成很好用,只需簡單地敲入
&email( addressee , reply-to, subject, message body)
例子中也可以這樣傳遞參數(shù):
&email($email,"clinton\@whouse.gov","subject of my first e-mail","This is line 1 \nThis is line 2");
但是我認(rèn)為分別賦值對(duì)于程序的編輯和閱讀更容易。>>