上善若水
查看上善若水的博客
金钱 | : 363 |
Level | : 0 |
发帖数 | : 22 |
最后登陆 | : 2007/8/17 |
注册时间 | : 2006/1/21 |
|
[size=4]这是用cgi进行编写的,当然asp或者hph也可以办到的[size=4] 保存为pl格式,这只是用于服务器上的,至于flash中的教本还在修正中,以后会给大家呈上的 #!/usr/bin/perl print "Content-type: text/html\n\n"; use lib "./cgi-bin/Lib"; use Mail::Sender; #调用readparse子程序对由Flash发送来的URL编码数据进行解码。 &readparse; #创建一个新的邮件发送对象。 $sender = new Mail::Sender; #调用MailMsg方法发送邮件。 #smtp用于指定你希望用来发送邮件的SMTP邮件服务器。 #from用于指明将要发送的这封邮件是来自哪个电子邮箱地址的。 #to用于指定这封邮件要发送到哪个电子邮箱。 #subject用来指定这封邮件的主题。 #msg用来指定要发送的这封邮件的邮件内容。 #auth用来指定SMTP邮件服务器所使用的身份验证的协议。 #authid用来指定身份验证的用户名。 #authpwd用来指定身份验证的密码。 $sender->MailMsg({ smtp => 'smtp.gmail.com', from => 'qzqpal@gmail.com', to =>'qzqpal@gmail.com', subject => $value[0], msg => "来自:$value[1]\n内容:$value[2]", auth => 'LOGIN', authid => 'qzqpal', authpwd => '密码', }); #向客户端发送回一点数据,以便客户端的LoadVar对象有点东西可装载。 #从而可以判断出向数据库中写入数据的工作是否已经完成。 print "finish=1"; #readparse子程序的作用是对从QUERY_STRING环境变量或标准输入中获取的URL编码数据进行解码。 #解码后的数据被存放在value数组中。 sub readparse { read(STDIN,$user_string,$ENV{'CONTENT_LENGTH'}); if (length($ENV{'QUERY_STRING'})>0) {$user_string=$ENV{'QUERY_STRING'}}; $user_string =~ s/\+/ /g; @name_value_pairs = split(/&/,$user_string); foreach $name_value_pair (@name_value_pairs) { ($keyword,$value) = split(/=/,$name_value_pair); $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/ge; push(@value, "$value"); $user_data{$keyword} = $value; if ($value=~/<!--\#exec/) { print "Content-type: text/html\n\nNo SSI permitted"; exit; }; }; };
|