深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

使用asp实现支持附件的邮件系统(一)


March 25,2004
大家经常探讨使用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">选定此项,则邮件发送到对方邮箱的同时发送到自己的收藏夹里</font>]</td>
    </tr>
    <tr>
      <td width="11%" valign="top"> </td>
      <td width="89%"> </td>
    </tr>
    <tr>
      <td width="11%" align="right"> 主题:</td>
      <td width="89%">
        <input type="text" name="emailtitle" size="60" value="<%=emailtitle%>">
      </td>
    </tr>
    <tr>
      <td width="11%" valign="top">
        <div align="right">正文:</div>
      </td>
      <td width="89%">
        <TEXTAREA name=body rows=8 cols=60><%=body%></TEXTAREA>
      </td>
    </tr>
    <tr>
      <td width="11%" valign="top">
        <div align="right">签名:</div>
      </td>
      <td width="89%">
        <textarea name="emailshowname" cols="30" rows="6"><%=application(session("myid")&"_name")%></textarea>
      </td>
    </tr>
    <tr>
      <td width="11%">
        <div align="right">
          <input type=hidden name="FileUploadStart">
          附件1: </div>
      </td>
      <td width="89%">
        <input type="file" name="file_up" size="50">
      </td>
    </tr>
    <tr>
      <td width="11%">
        <div align="right">附件2:</div>
      </td>
      <td width="89%">
        <input type="file" name="file_up1" size="50">
      </td>
    </tr>
    <tr>
      <td width="11%">
        <div align="right">附件3:</div>
      </td>
      <td width="89%">
        <input type="file" name="file_up2" size="50">
        <input type=hidden name="FileUploadEnd">
      </td>
    </tr>
    <tr>
      <td width="11%">
        <div align="right"></div>
      </td>
      <td width="89%">
        <input type=submit value=确定 >
      </td>
    </tr>
  </table>
  </Form>
</body>
</html>
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved