返回列表 回复 发帖

[转帖]怎样用perl编cgi发email

#!usr/bin/perl
#
#这是一个CGI程序,用语将表单中的内容发送到指定信箱.
#表单有两项内容其一为信箱地址"email",其二为内容"content"
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});

   #把html的输入读如到$buffer中,注意这时的#$buffer是一个长字符串

   #CGI程序是使用STDIN和STDOUT输入输出

   @pairs=split(/&/,$buffer);

   foreach $pair(@pairs){

   ($name,$value)=split(/=/,$pair);

   #把pairs拆分成不同输入框名字和输入内容的关联数组

   $value=~s/\+/ /g;

   #注意CGI把所有的输入空格转换成+,所以要变换回来
   $value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
   #CGI把中文全部变成16进制编码,所以要用pack转换回来

   $FORM{$name}=$value;

   }
$mailbox=$FORM{"email"};
$mailcontent=$FORM{"content"};
open (MAIL,"|mail $mailbox");
print MAIL $mailcontent;
close(MAIL);

#本程序在Unix(Linux)服务器上成功运行.
#呵呵,很简陋的一个东东,可以做许多补充
#qxb 2000/04/16

                     我是一个呼吸着现在的空气而生活在过去的人
               这样的注定孤独,孤独的身处闹市却犹如置身于荒漠
                                     我已习惯了孤独,爱上孤独
                                 他让我看清了自我,还原了自我
                             让我再静静的沉思中得到快乐和满足
                                   再孤独的世界里我一遍又一遍
                                   不厌其烦的改写着自己的过去
                                             延伸到现在与未来
                                       然而那只是泡沫般的美梦
                                 产生的时刻又伴随着破灭的到来
                         在灰飞烟灭的瞬间我看到的是过程的美丽
                                      而不是结果的悲哀。。。
返回列表