#!/usr/bin/perl
#以二进制模式传送附件。
binmode(STDIN);
binmode(STDOUT);
binmode(STDERR);
#sender.pm模块位置
$ProgDir="c:\\httpd\\htdocs\\cgi-bin\\clmail";
#附件目录
$AttachDir="c:\\worktemp\";
#发信按钮图像
$MailButton='http://127.0.0.1/mailimage/mail_b.JPG';
#附件按钮图像
$AttachButton='http://127.0.0.1/mailimage/attach_b.JPG';
#页面标题
$title="免费邮件";
#SMTP服务器
$SmtpSever='192.192.194.1'; #这是一个虚构的服务器,请使用你的发信服务器代替它。
#ShowAttachForm();
#sender模块位置
push(@INC,$ProgDir);
my($From,$To,$Subject,$Cc,$Bcc,$AttachFile,$MailContent,$AttachNum,$AttachFile1,$AttachFile2,$AttachFile3);
use CGI;
$input=new CGI;
if($input->param('attachbutton.x') ne ""){
&ReadInput;
ShowAttachForm($From,$To,$Subject,$Cc,$Bcc,$AttachFile,$MailContent,$AttachNum,$AttachFile1,$AttachFile2,$AttachFile3,0);
}
#($ENV{'QUERY_STRING'} eq 'showattach') and &ShowAttachForm;
#&ShowAttachForm;
if($input->param('showmailform') eq 'yes')
{
&ShowMailForm;
exit;
}
if($input->param('beattachfile') eq 'yes'){
&AttachFile;
exit;
}
if ( $input->param('mailbutton.x') ne '' ) {
#&ReadInput;
&SendMail;
exit;
}
&ShowMailForm;
sub print_head{
print<<"EOF";
content-type:text/html\n
<html><head><title>$title</title></head>
<body>
EOF
}
sub print_foot{
print<<"EOF";
</body>
</html>
EOF
}
############################################################################
sub ShowAttachForm #4/14/00 4:02PM
############################################################################
{
my ($From,$To,$Subject,$Cc,$Bcc,$AttachFile,$MailContent,$AttachNum,$AttachFile1,$AttachFile2,$AttachFile3,$TooMany)=@_;
&print_head;
if ($TooMany eq 1) {
print<<"EOF";
<p><strong><font size="4" color="#FF0000">对不起,附件不能超过3个,本附件不能传送。</font></strong></p>
EOF
}
print<<"EOF";
<p><font size="3" color="#008000">按以下步骤发送附件:</font></p>
<form action="$ENV{'SCRIPT_NAME'}" method="post" align="center"
ENCTYPE="multipart/form-data">
<input type="hidden" name="beattachfile" value="yes"><input type="hidden" name="from"
value="$From"><input type="hidden" name="to" value="$To"><input type="hidden"
name="subject" value="$Subject"><input type="hidden" name="attachfile" value="$AttachFile"><input
type="hidden" name="cc" value="$Cc"><input type="hidden" name="bcc" value="$Bcc"><input
type="hidden" name="mailcontent" value="$MailContent"><input type="hidden"
name="attachnum" value="$AttachNum"><input type="hidden" name="attachfile1"
value="$AttachFile1"><input type="hidden" name="attachfile2" value="$AttachFile2"><input
type="hidden" name="attachfile3" value="$AttachFile3"><table border="0" cellpadding="0" cellspacing="0"
width="57%" height="76" style="font-size: 9pt; letter-spacing: 2px">
<tr>
<td width="50%" height="18">1、在以下框中点击“浏览”并在随后弹出的对话框中选择附件。</td>
</tr>
<tr>
<td width="50%" height="1"><input type="file" name="newfile" size="30"></td>
</tr>
<tr>
<td width="50%" height="18">2、点击“粘贴”键,将附件贴到邮件上。<input
type="submit" value="粘贴"></td>
</tr>
</table>
</form>
<form action="$ENV{'SCRIPT_NAME'}" method="post" align="center">
<input type="hidden" name="showmailform" value="yes"><input type="hidden" name="from"
value="$From"><input type="hidden" name="to" value="$To"><input type="hidden"
name="subject" value="$Subject"><input type="hidden" name="attachfile" value="$AttachFile"><input
type="hidden" name="cc" value="$Cc"><input type="hidden" name="bcc" value="$Bcc"><input
type="hidden" name="mailcontent" value="$MailContent"><input type="hidden"
name="attachnum" value="$AttachNum"><input type="hidden" name="attachfile1"
value="$AttachFile1"><input type="hidden" name="attachfile2" value="$AttachFile2"><input
type="hidden" name="attachfile3" value="$AttachFile3"><table
style="font-size: 9pt; letter-spacing: 2px" width="435" cellspacing="0" cellpadding="0">
<tr>
<td width="431" height="18">3、如有多个附件,重复以上步骤。</td>
</tr>
<tr>
<td width="431" height="18">4、点击“完成”,以完成附件操作。<input
type="submit" value="完成"></td>
</tr>
<tr>
<td width="431" height="18"><font size="3" color="#008000">附件列表:</font><p><select
name="fj" size="3">
<option value="AttachFile1">$AttachFile1</option>
<option value="AttachFile2">$AttachFile2</option>
<option value="AttachFile3">$AttachFile3</option>
</select></td>
</tr>
</table>
</form>
EOF
&print_foot;
exit;
} ##ShowAttachForm
############################################################################
sub ReadInput #4/14/00 2:34PM
############################################################################
{
$From= $input->param('from');
$To=$input->param('to');
$Subject=$input->param('subject');
$Cc=$input->param('cc');
$Bcc=$input->param('bcc');
$AttachFile=$input->param('attachfile');
$MailContent=$input->param('mailcontent');
$AttachNum=$input->param('attachnum');
$NewFile=$input->param('newfile');
$AttachFile1=$input->param('attachfile1');
$AttachFile2=$input->param('attachfile2');
$AttachFile3=$input->param('attachfile3');
} ##ReadInput
############################################################################
sub SendMail #4/13/00 10:14AM
############################################################################
{
&ReadInput;