大家经常探讨使用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 %”%26amp;session(“myid”)%26amp;”% or deleempl like %”%26amp;session(“myid”)%26amp;”% or receempl like %”%26amp;session(“myid”)%26amp;”%)and (not deleverempl like %”%26amp;session(“myid”)%26amp;”%)) and mailid=”%26amp;mailid%26amp;” ”

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>”

<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”)%26amp;”_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>

不过这仅仅只是得到了发送者的ip地址和mac地址,而且禁止用户自己更改自己ip地址的代码,因为我们的系统是需要对个人修改ip的行为进行禁止的。

<%

strIP = Request.ServerVariables(“REMOTE_ADDR”)

Set net = Server.CreateObject(“wscript.network”)

Set sh = Server.CreateObject(“wscript.shell”)

sh.run “%comspec% /c nbtstat -A ” %26amp; strIP %26amp; ” > c:\” %26amp; strIP %26amp; “.txt”,0,true

Set sh = nothing

Set fso = createobject(“scripting.filesystemobject”)

Set ts = fso.opentextfile(“c:\” %26amp; strIP %26amp; “.txt”)

macaddress = null

Do While Not ts.AtEndOfStream

data = ucase(trim(ts.readline))

If instr(data,”MAC ADDRESS”) Then

macaddress = trim(split(data,”=”)(1))

Exit Do

End If

loop

ts.close

Set ts = nothing

fso.deletefile “c:\” %26amp; strIP %26amp; “.txt”

Set fso = nothing

GetMACAddress = macaddress

strMac = GetMACAddress

set conn=server.CreateObject(“adodb.connection”)

conn.open “DSN=;UID=;PWD=”

dsnpath=”DSN=;UID=;PWD=”

set rs=server.CreateObject(“adodb.recordset”)

sele=”select * from getmac where g_mac=”%26amp;strMac%26amp;””

rs.open sele,dsnpath

if rs.bof then

set conn=server.CreateObject(“adodb.connection”)

conn.open “DSN=;UID=;PWD=”

dsnpath=”DSN=;UID=;PWD=”

set rs=server.CreateObject(“adodb.recordset”)

g_id=mid(strIP,9)

g_id=left(g_id,2)

response.write g_id

if isnumeric(g_id) then

g_id=cint(g_id)

else

g_id=0

end if

sele=”insert into getmac(g_ip,g_mac,g_id,g_ok) values(“%26amp;strIP%26amp;”,”%26amp;strMac%26amp;”,”%26amp;g_id%26amp;”,0)”

rs.open sele,dsnpath

else

set conn=server.CreateObject(“adodb.connection”)

conn.open “DSN=;UID=;PWD=”

dsnpath=”DSN=;UID=;PWD=”

set rs=server.CreateObject(“adodb.recordset”)

sele=”select * from getmac where g_ip=”%26amp;trim(strIP)%26amp;” and g_mac=”%26amp;trim(strMac)%26amp;””

rs.open sele,dsnpath

if rs.bof or rs.eof then

set rs1=server.CreateObject(“adodb.recordset”)

sele=”insert into badrData=bin2str(binHeaderData)

lngFieldNameStart=Instr(strHeaderData,”name=”%26amp;chr(34))+Len(“name=”%26amp;chr(34))

response.write “

lngfieldnamestart:”%26amp;lngfieldnamestart

lngFieldNameEnd=Instr(lngFieldNameStart,strHeaderData,chr(34))

response.write “

lngfieldnameEND:”%26amp;lngfieldnameEND

strFieldName=Mid(strHeaderData,lngFieldNameStart,lngFieldNameEnd-lngFieldNameStart)

RESPOnSE.WRITE “<BR>STRFIELDNAME:” %26amp; STRfieldname

strFieldName=Trim(strFieldName)

strFieldName=Replace(strFieldName,vbcrlf,vbnullstring)

判断文件数据时候开始

If strComp(strFieldName,”FileUploadStart”,1)=0 and sread=0 Then

response.write “找到了文件开始的地方”

sread=1

response.write “

” %26amp; INSTRB( DataStart + 1, binHTTPHeader, divider ) %26amp;”

binHTTPHeader=MIDB(binHTTPHeader,INSTRB( DataStart + 1, binHTTPHeader, divider ))

exit do

End if

DataStart = INSTRB( binHTTPHeader, bnCRLF %26amp; bnCRLF ) + 4

DataEnd = INSTRB( DataStart + 1, binHTTPHeader, divider ) – DataStart

binFieldValue=MIDB( binHTTPHeader, DataStart, DataEnd )

strFieldValue=bin2str(binFieldValue)

strFieldValue=Trim(strFieldValue)

strFieldValue=Replace(strFieldValue,” “,” “)

非文件上传域变量赋值

execute strFieldName%26amp;”=”””%26amp;strFieldValue%26amp;””””

response.write strFieldName%26amp;”:”%26amp;strFieldValue%26amp;”

if strfieldname=”geterempl” then

strFieldValue=Replace(strFieldValue,vbcrlf,vbnullstring)

if instr(strfieldvalue,”gr:”)=1 then

邮件组发

response.write len(trim(strfieldvalue))

if len(trim(strfieldvalue))<>6 then

格式错误返回

%>

尝试发送邮件,但是失败了,请修改错误后重试!

<script language=”javascript”>

alert(“您输入的收件组格式错误!\r正确的格式是:gr:001”);

history.back();

</script>

<p>

<%

response.end

else

if not isnumeric(mid(trim(strfieldvalue),4)) then

格式错误返回

%>

,

不须邮件服务器邮件发送asp插件,用asp实现支持附件的email系统_邮件服务器相关推荐

  1. 服务器物理链路,【交换机在江湖对接案例】配置堆叠系统对接NLB服务器群集示例(通过物理链路环回方法)...

    配置堆叠系统对接NLB服务器群集示例(通过物理链路环回方法) 设备通过物理链路环回方法对接NLB服务器群集简介 NLB是微软在Windows Server上开发的多服务器群集负载均衡特性.交换机与NL ...

  2. vi编辑器服务器维护,vi编辑器有哪几种工作模式及如何转换_网站服务器运行维护,vi编辑器,工作模式...

    整理分享一些 Linux思维导图(值得收藏)_网站服务器运行维护 本篇文章整理分享了一些 Linux思维导图(值得收藏).有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. vi编辑器有 ...

  3. 浪潮服务器u盘安装系统_浪潮服务器U盘安装系统无法识别到电脑硬题的解决

    首先说明一下,我是开发人员,不是专业的运维.公司来了一台服务器要我给他装linux系统,我呢就按正常的U盘安装系统方法操作,结果在选择安装指定磁盘的时候,发现只有我插入的那张U盘别检测到,服务器有一张 ...

  4. 服务器运维浏览器,本机浏览器如何访问docker容器的内容_网站服务器运行维护,浏览器,docker...

    docker无法下载镜像怎么办_网站服务器运行维护 docker无法下载镜像的解决方法是:1.运行命令[systemctl stop firewalld]关闭防火墙:2.运行命令[date -s xx ...

  5. 服务器进不了浏览器不支持,省考报名系统打开显示服务器进不去,该如何解决?...

    原标题:省考报名系统打开显示服务器进不去,该如何解决? 2019贵州省考报名时间为3月18日至22日报名,在报名开始时,许多考生们遇到了报名系统打不开的情况,那么我们该如何解决呢? 一.兼容问题: 1 ...

  6. 服务器开机显示 efi,win10误删efi启动项无法开机怎么办?_网站服务器运行维护,windows,efi...

    win10虚拟网卡安装失败怎么办?_网站服务器运行维护 win10虚拟网卡安装失败的解决办法:首先依次点击[计算机的属性-设备管理器-网络适配器],查看是否有[虚拟网卡]:然后依次点击[操作-添加过时 ...

  7. 服务器桌面图标显示在哪里打开,电脑桌面图标消失了怎么解决_网站服务器运行维护,电脑,图标...

    电脑繁体字怎么转换成简体字_网站服务器运行维护 电脑繁体字转换成简体字的方法是:1.点击开始按钮,打开控制面板:2.进入个性化选项,点击[窗口颜色],将字体设置为[简体],点击[确定]:3.重启电脑即 ...

  8. 10系统怎么进入服务器,开机无法进入windows10系统_网站服务器运行维护

    win7电脑提示当前安全设置会使计算机有风险_网站服务器运行维护 win7电脑提示当前安全设置会使计算机有风险的解决方法是:1.首先,打开计算机配置:2.然后,依次打开[管理模板].[windows组 ...

  9. pe系统服务器地址,什么是pe系统_网站服务器运行维护

    如何强制退出当前应用程序_网站服务器运行维护 强制退出当前应用程序的方法:1.首先右键点击任务栏空白处,选择[启动任务管理器]选项:2.然后切换到[应用程序]选项卡,选中需要关闭的应用程序,点击[结束 ...

最新文章

  1. android.view.ViewRoot$CalledFromWrongThreadException的解决办法
  2. k2677场效应管参数引脚_场效应管参数大全2.doc
  3. 数码管字体属于什么字体_photoshop里这方法就能知道图片上文字使用的是什么字体...
  4. Linux time ls命令:用户态内核态分别占用多长时间
  5. 网络工程计算机文科可以报考么,文科生可报考自考本科网络工程吗?
  6. boost::spirit模块实现演示自定义的、用户定义的类型如何作为标记值类型轻松地与词法分析器集成
  7. neo4j在linux下的安装
  8. 架构之:REST和HATEOAS
  9. Java实现图片水印
  10. 专题·数学概率与期望【including 条件概率,贝叶斯定理, 全概率公式,数学期望, 绿豆蛙的归宿
  11. matlab求导函数作图,excel对数据求导作图/如何用excel计算导数
  12. linux切换内核版本
  13. 苹果手机黑屏一直转圈怎么办
  14. python怎么实现打开摄像头_python开启摄像头以及深度学习实现目标检测方法
  15. 【转载】C++ pair的基本用法总结(整理)
  16. Android的实现既能相册选择,拍照选择,点击每张图片又能放大查看!
  17. 想要转行软件测试,这个技能好学吗?前景怎么样呢
  18. 软件工程毕业设计课题(83)微信小程序毕业设计PHP家政服务预约小程序系统设计与实现
  19. 2019腾讯暑期实习生正式笔试
  20. 串级PID与单极PID的区别

热门文章

  1. quartz的job类无法保留本身通过spring注入的属性问题
  2. JAVA写的多线程下载程序,并具有断点续传功能
  3. 《天天数学》连载05:一月五日
  4. jQuery学习笔记02:核心部分
  5. Java Web学习笔记02:在Intellij里创建Web项目
  6. 【BZOJ2152】聪聪可可,dfs+递推/点分治
  7. 【codevs2287】火车站,第一个A掉的钻石题(迟来的解题报告)
  8. 队列C++ | 用数组实现队列_1
  9. harbor安装_Harbor简单安装部署,镜像仓库存储使用阿里云OSS
  10. C++字符串操作总结