用sendmail发送HTML格式的邮件

王朝html/css/js·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

先将来自HTML页面的数据解码,再调用unix系统sendmail命令即可。

例如下:#!/usr/local/bin/perl

#

&readparse;

print "Content-type: text/htmlnn";

#

#********* BEGIN BODY********************

#******** END BODY************************

#

# EACH VALUE IN THE HTML FORM WILL BE CONTAINED IN

# THE THE @VALUE ARRAY.

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=~/print "Content-type: text/htmlnnNo SSI permitted";

exit;

};

};

};

#E-MAIL SUBROUTINE

#ADD "&email(to,from,subject,text)" TO YOUR SCRIPT

#REMEMBER TO BACKSLASH THE @ WHEN YOU ARE NOT USING IT IN AN ARRAY

#FOR EXAMPLE:

# $to='robyoung@mediaone.net';

# $from='foo@company.com';

# $subject='Thank you for your inquiry';

# $text='Dear readernnThank you for your recent inquiry.';

# &email($to,$from,$subject,$text);

sub email {

local($to,$from,$sub,$letter) = @_;

$to=~s/@/@/;

$from=~s/@/@/;

open(MAIL, "|/usr/lib/sendmail -t") || die

"Content-type: text/textnnCan't open /usr/lib/sendmail!";

print MAIL "To: $ton";

print MAIL "From: $fromn";

print MAIL "Subject: $subn";

print MAIL "$lettern";

return close(MAIL);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航