大家经常探讨使用asp,而不使用其他组建能否实现文件的上传,从而开发出支持邮件附件的邮件系统,答案是可以的。请看:
以下是发送邮件的页面,邮件的帐号是员工号,假设是5位的数字,sendmail.asp当然是在合法登陆后才能够看到的
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="/css/FORUM.CSS">
<style type=text/css>
<!--
input { font-size: 9pt; color: #0011dd; background-color: #e9e9f9; padding-top: 0px}
select { font-size: 9pt; color: #0011dd; background-color: #e9e9f9; padding-top: 0px}
textarea { font-size: 9pt; color: #0011dd; background-color: #e9e9f9; padding-top: 0px}
-->
</style>
<title>邮件系统</title></head>
<body bgcolor="#FEF7ED">
<script language="javascript">
<%
if session("myid")="" or len(session("myid"))<>5 then
response.write "window.open('nolog.asp',target='_top');"
end if
%>
function check(theform)
{
if (theform.geterempl.value==')
{
alert('请输入收件人!');
theform.geterempl.focus();
return false;
}
if (theform.emailtitle.value==')
{
alert('请输入主题!');
theform.emailtitle.focus();
return false;
}
if (theform.emailtitle.value.length>200)
{
alert('主题请少于200字节');
theform.emailtitle.focus();
return false;
}
if (theform.body.value.length>15*1024)
{
alert('正文请少于16K');
theform.body.focus();
return false;
}
if (theform.emailshowname.value.length>1024)
{
alert('签名请少于1K');
theform.emailshowname.focus();
return false;
}
}
</script>
<%
meth=request.querystring("meth")
if meth=1 then
geterempl=trim(request.querystring("geterempl"))
emailtitle=trim(request.querystring("emailtitle"))
elseif meth=2 then
mailid=trim(request.querystring("mailid"))
set conn=server.createobject("adodb.connection")
conn.open "DSN=;UID=;PWD="
dsnpath="DSN=;UID=;PWD="
set rs=server.createobject("adodb.recordset")
selectnew="select * from t_mail where ((geterempl like '%"&session("myid")&"%' or deleempl like '%"&session("myid")&"%' or receempl like '%"&session("myid")&"%')and (not deleverempl like '%"&session("myid")&"%')) and mailid='"&mailid&"' "
rs.open selectnew,dsnpath,3,3
if rs.bof or rs.eof then
%>
<script language="javascript">
alert("您没有查看这封邮件的权限!");
window.history.back();
</script>
<%
response.end
else
body=rs("body")
emailtitle=rs("emailtitle")
rs.close
set rs=nothing
conn.close
set conn=nothing
end if
end if
%>
<Form name="upload_file" onSubmit="return check(this)" action="loadmail.asp" method=post enctype="multipart/form-data" >
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td width="11%">
<div align="right">发件人:</div>
</td>
<td width="89%">
<input type="hidden" name="senderempl" value="<%=session("myid")%>">
<%=session("myid")%> </td>
</tr>
<tr>
<td width="11%">
<div align="right">收件人:</div>
</td>
<td width="89%">
<input type="text" name="geterempl" size="40" value="<%=geterempl%>">
<input type="checkbox" name="emaillevel" value="1" style="background-color: #FEF7ED">
紧急信件 </td>
</tr>
<tr>
<td width="11%" valign="top"> </td>
<td width="89%">发送多个人的时候可以使用"<font color="#9999FF">|</font>"隔开,例如:<font color="#3399FF">01234|01235|01236</font>,第一位和最后一位不需要"<font color="#9999FF">|</font>"<br>
<font color="#FF0000">新功能</font>:您可以把信信直接发送给您设定的<a href="group.asp">某用户</a>,发送格式为:gr:组序号,例如<font color="#0099FF">gr:001</font></td>
</tr>
<tr>
<td width="11%">
<div align="right"></div>
</td>
<td width="89%">
<input type="checkbox" name="receempl" value="1" style="background-color: #FEF7ED">
保存一份到收藏夹[<font color="#3399FF">选定此项
以下是发送邮件的页面,邮件的帐号是员工号,假设是5位的数字,sendmail.asp当然是在合法登陆后才能够看到的
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="/css/FORUM.CSS">
<style type=text/css>
<!--
input { font-size: 9pt; color: #0011dd; background-color: #e9e9f9; padding-top: 0px}
select { font-size: 9pt; color: #0011dd; background-color: #e9e9f9; padding-top: 0px}
textarea { font-size: 9pt; color: #0011dd; background-color: #e9e9f9; padding-top: 0px}
-->
</style>
<title>邮件系统</title></head>
<body bgcolor="#FEF7ED">
<script language="javascript">
<%
if session("myid")="" or len(session("myid"))<>5 then
response.write "window.open('nolog.asp',target='_top');"
end if
%>
function check(theform)
{
if (theform.geterempl.value==')
{
alert('请输入收件人!');
theform.geterempl.focus();
return false;
}
if (theform.emailtitle.value==')
{
alert('请输入主题!');
theform.emailtitle.focus();
return false;
}
if (theform.emailtitle.value.length>200)
{
alert('主题请少于200字节');
theform.emailtitle.focus();
return false;
}
if (theform.body.value.length>15*1024)
{
alert('正文请少于16K');
theform.body.focus();
return false;
}
if (theform.emailshowname.value.length>1024)
{
alert('签名请少于1K');
theform.emailshowname.focus();
return false;
}
}
</script>
<%
meth=request.querystring("meth")
if meth=1 then
geterempl=trim(request.querystring("geterempl"))
emailtitle=trim(request.querystring("emailtitle"))
elseif meth=2 then
mailid=trim(request.querystring("mailid"))
set conn=server.createobject("adodb.connection")
conn.open "DSN=;UID=;PWD="
dsnpath="DSN=;UID=;PWD="
set rs=server.createobject("adodb.recordset")
selectnew="select * from t_mail where ((geterempl like '%"&session("myid")&"%' or deleempl like '%"&session("myid")&"%' or receempl like '%"&session("myid")&"%')and (not deleverempl like '%"&session("myid")&"%')) and mailid='"&mailid&"' "
rs.open selectnew,dsnpath,3,3
if rs.bof or rs.eof then
%>
<script language="javascript">
alert("您没有查看这封邮件的权限!");
window.history.back();
</script>
<%
response.end
else
body=rs("body")
emailtitle=rs("emailtitle")
rs.close
set rs=nothing
conn.close
set conn=nothing
end if
end if
%>
<Form name="upload_file" onSubmit="return check(this)" action="loadmail.asp" method=post enctype="multipart/form-data" >
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td width="11%">
<div align="right">发件人:</div>
</td>
<td width="89%">
<input type="hidden" name="senderempl" value="<%=session("myid")%>">
<%=session("myid")%> </td>
</tr>
<tr>
<td width="11%">
<div align="right">收件人:</div>
</td>
<td width="89%">
<input type="text" name="geterempl" size="40" value="<%=geterempl%>">
<input type="checkbox" name="emaillevel" value="1" style="background-color: #FEF7ED">
紧急信件 </td>
</tr>
<tr>
<td width="11%" valign="top"> </td>
<td width="89%">发送多个人的时候可以使用"<font color="#9999FF">|</font>"隔开,例如:<font color="#3399FF">01234|01235|01236</font>,第一位和最后一位不需要"<font color="#9999FF">|</font>"<br>
<font color="#FF0000">新功能</font>:您可以把信信直接发送给您设定的<a href="group.asp">某用户</a>,发送格式为:gr:组序号,例如<font color="#0099FF">gr:001</font></td>
</tr>
<tr>
<td width="11%">
<div align="right"></div>
</td>
<td width="89%">
<input type="checkbox" name="receempl" value="1" style="background-color: #FEF7ED">
保存一份到收藏夹[<font color="#3399FF">选定此项