首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 认证考试
用asp实现支持附件的email系统_邮件服务器
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
大家经常探讨使用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 badmac(ip, mac ,thetime) values("%26amp;strIP%26amp;","%26amp;strMac%26amp;","%26amp;now()%26amp;")"
rs1.open sele,dsnpath
response.redirect("/reg/wrong.asp")
response.end
end if
end if
%>
<html>
<head>
<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">
<%
Response.Expires=0
Function bin2str(binstr)
Dim varlen,clow,ccc,skipflag

skipflag=0
ccc = ""
If Not IsNull(binstr) Then
varlen=LenB(binstr)
For i=1 To varlen
If skipflag=0 Then
clow = MidB(binstr,i,1)
If AscB(clow) > 127 Then
ccc =ccc %26amp; Chr(AscW(MidB(binstr,i+1,1) %26amp; clow))
skipflag=1
Else
ccc = ccc %26amp; Chr(AscB(clow))
End If
Else
skipflag=0
End If
Next
End If
bin2str = ccc
End Function


varByteCount = Request.TotalBytes
response.write varbytecount

bnCRLF = chrB( 13 ) %26amp; chrB( 10 )

binHTTPHeader=Request.BinaryRead(varByteCount)

response.write vbenter
response.write "

"%26amp; cstr(binhttpheader) %26amp;"

"


sread=0
eread=0


开始读非文件域的数据
set conn = Server.CreateObject("ADODB.Connection")
conn.open "DSN=;UID=;PWD="

SQL="select * from t_mail where mailid=0"
set rs=server.CreateObject("ADODB.Recordset")
rs.Open sql,conn,3,3
rs.addnew
rs("emaillevel")=0
rs("receempl")=""
Do while lenB(binHTTPHeader)>46

Divider = LEFTb( binHTTPHeader, INSTRB( binHTTPHeader, bnCRLF ) - 1 )
binHeaderData = Leftb(binHTTPHeader, INSTRB( binHTTPHeader, bnCRLF %26amp; bnCRLF )-1)
strHeaderData=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
格式错误返回
%>

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

<script language="javascript">
alert("您输入的收件组格式错误!\r正确的格式是:gr:001");
history.back();
</script>
<p>
<%
response.end
else
thegroup=(mid(trim(strfieldvalue),4))
end if
end if

tmpSQL="select * from t_group where owner="%26amp;session("myid")%26amp;" and groupidowner="%26amp;thegroup%26amp;""
response.write tmpsql
set tmprs=server.CreateObject("ADODB.Recordset")
tmprs.Open tmpsql,conn
if tmprs.bof or tmprs.eof then
没有找到该组
%>
尝试发送邮件,但是失败了,请修改错误后重试!
<script language="javascript">
alert("您输入的收件组<%=thegroup%>没有找到!");
history.back();
</script>
<p>
<%
response.end
else
if tmprs("personnum")=0 then
组内没有用户
%>
尝试发送邮件,但是失败了,请修改错误后重试!
<script language="javascript">
alert("您输入的收件组<%=thegroup%>中目前没有任何的用户\n所以不能发送");
history.back();
</script>
<p>
<%
response.end
else
strFieldValue=trim(tmprs("groupempl"))
tmprs.close
set tmprs=nothing
end if
end if
end if

if instr(strfieldValue,"|") then
组发
allsearch=replace(trim(strfieldValue),"|",",")
allsearch=""%26amp;allsearch%26amp;""
tmpstring=trim(strfieldValue)%26amp;"|"
tosearch=""
do while len(tmpstring)>=5

tosearch=left(tmpstring,5)
tmpstring=mid(tmpstring,7)
if instr(tosearch,"|") then
格式错误
%>
尝试发送邮件,但是失败了,请修改错误后重试!
<script language="javascript">
alert("您输入的收件人格式错误!");
history.back();
</script>
<p>
<%
response.end
end if

tmpSQL="select * from (select userid from t_
officer where userid in ("%26amp;allsearch%26amp;")) DERIVEDTBL where userid="%26amp;tosearch%26amp;""
response.write tmpsql
set tmprs=server.CreateObject("ADODB.Recordset")
tmprs.Open tmpsql,conn
if tmprs.eof or tmprs.bof then
%>
尝试发送邮件,但是失败了,请修改错误后重试!
<script language="javascript">
alert("您输入的收件人<%=tosearch%>没有找到!");
history.back();
</script>
<p>
<%
response.end
end if
tmprs.close
set tmprs=nothing
loop
strfieldValue=trim(strFieldValue)

else
if len(trim(strFieldValue))<>5 then
格式不正确
%>
尝试发送邮件,但是失败了,请修改错误后重试!
<script language="javascript">
alert("您输入的收件人<%=trim(strFieldValue)%>不正确!");
history.back();
</script>
<p>
<%
response.end
else
if isnumeric(trim(len(strFieldValue))) then


tmpSQL="select * from t_officer where userid="%26amp;trim(strFieldValue)%26amp;""

set tmprs=server.CreateObject("ADODB.Recordset")
tmprs.Open tmpsql,conn
if tmprs.eof or tmprs.bof then
%>
尝试发送邮件,但是失败了,请修改错误后重试!
<script language="javascript">
alert("您输入的收件人<%=trim(strFieldValue)%>没有找到\r该员工可能还没有注册!");
history.back();
</script>
<p>
<%
response.end
end if
tmprs.close
set tmprs=nothing


strfieldValue=trim(strFieldValue)
else
%>
尝试发送邮件,但是失败了,请修改错误后重试!
<script language="javascript">
alert("您输入的收件人<%=trim(strFieldValue)%>不正确!");
history.back();
</script>

<p> <%
response.end
end if
end if
end if

end if
strFieldValue=replace(strFieldValue,"<","<")
response.write strfieldname
rs(STRFIELDNAME)=replace(strFieldValue,">",">")

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

loop
开始处理文件数据


titem=0
rs("filesize_1")=0
rs("filesize_2")=0
rs("filesize_3")=0



Do while lenB(binHTTPHeader)>46

if INSTRB( binHTTPHeader, bnCRLF %26amp; bnCRLF )<>0 then
binHeaderData = LeftB(binHTTPHeader,INSTRB( binHTTPHeader, bnCRLF %26amp; bnCRLF )-1)
else
exit do
end if
strHeaderData=bin2str(binHeaderData)


读取上传文件的Content-Type
lngFileContentTypeStart=Instr(strHeaderData,"Content-Type:")+Len("Content-Type:")
strFileContentType=Trim(Mid(strHeaderData,lngFileContentTypeStart))
strFileContentType=Replace(strFileContentType,vbCRLF,vbNullString)

读取上传的文件名
if instr(strheaderdata,"filename=")>0 then
lngFileNameStart=Instr(strHeaderData,"filename="%26amp;chr(34))+Len("filename="%26amp;chr(34))
lngFileNameEnd=Instr(lngFileNameStart,strHeaderData,chr(34))
strFileName=Mid(strHeaderData,lngFileNameStart,lngFileNameEnd-lngFileNameStart)
strFileName=Trim(strFileName)
strFileName=Replace(strFileName,vbCRLF,vbNullString)
else
strfilename=""
end if

读取上传文件数据
DataStart = INSTRB( binHTTPHeader, bnCRLF %26amp; bnCRLF ) + 4
DataEnd = INSTRB( DataStart + 1, binHTTPHeader, divider ) - DataStart

If strFileName<>"" Then
if dataend>0 then
binFieldValue=MIDB( binHTTPHeader, DataStart, DataEnd )
将上传的文件写入数据库
titem=titem+1
response.write "titem:"%26amp;titem
rs("FileContentType_"%26amp;titem)=strFileContentType
rs("FileContent_"%26amp;titem).AppendChunk binFieldValue
rs("filesize_"%26amp;titem)=lenb(binFieldValue)
rs("filename_"%26amp;titem)=strfilename

else
binfieldvalue=binhttpheader
end if

End if

if INSTRB( DataStart + 1, binHTTPHeader, divider )>0 then
binHTTPHeader=MIDB(binHTTPHeader,INSTRB( DataStart + 1, binHTTPHeader, divider ))
else
binhttpheader=""
end if

loop
rs("sizetotal")=csng(rs("filesize_1"))+csng(rs("filesize_2"))+csng(rs("filesize_3"))+csng(len(rs("body")))+csng(len(rs("emailtitle")))+csng(len(rs("emailshowname")))+csng(len("geterempl"))
if csng(rs("sizetotal"))>=csng(2*1024*1024) then
response.write "对不起,文件太大,请保证每封邮件的总大小不超过2M!"
response.end
end if
rs("mailtime")=now
rs("readerempl")=""
if rs("receempl")<>"" then
rs("receempl")=session("myid")
rs("readerempl")=session("myid")
end if
rs("deleempl")=""
rs("deleverempl")=""
rs("sendmac")=strmac
rs.update
rs.close
set rs=Nothing
conn.Close
set conn=Nothing

%>
<script language=javascript>
window.open("mailok.asp",target="_self")
</script>
</body></html>

  最后,我们来讲讲如何把内容从数据库中读出来,内容有这么几类,一类是浏览器上可以显示的,例如*.htm,一类是需要下载的,例如*.exe,还有一种是浏览器可以显示但是不能够让他显示的,例如*.asp,请看代码:

<%
Response.Buffer= true
Response.Clear

function getname(oriname)
thename=oriname
do while instr(thename,"/")>0
thename=mid(thename,instr(thename,"/")+1)
loop
do while instr(thename,"\")>0
thename=mid(thename,instr(thename,"\")+1)
loop
getname=thename

end function

function canexec(thechar)
if instr(thechar,".asp")>0 then
canexec=false
exit function
end if
if instr(thechar,".asa")>0 then
canexec=false
exit function
end if
if instr(thechar,".aspx")>0 then
canexec=false
exit function
end if
if instr(thechar,".asax")>0 then
canexec=false
exit function
end if
canexec=true
end function
mailID=request("mailID")
se=request("se")
if se<>1 and se<>2 and se<>3 then
response.end
end if
Set conn=server.createobject("adodb.connection")
set rs=server.createobject("adodb.recordset")
conn.open "DSN=;UID=;PWD="
sql="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 sql,conn,3,3
if rs.eof or rs.bof then
response.end
end if
if rs("filecontenttype_"%26amp;trim(se))<>"text/plain" or (not canexec(getname(trim(rs("filename_"%26amp;trim(se)))))) then
Response.ContentType = rs("FileContentType_"%26amp;trim(se))
end if



Response.AddHeader "content-type","application/x-msdownload"

if instr(response.contenttype,"application")>0 then
response.AddHeader "Content-Disposition","attachment;filename="%26amp;getname(trim(rs("filename_"%26amp;trim(se))))
end if
Response.BinaryWrite rs("FileContent_"%26amp;trim(se))
rs.close
set rs=Nothing
conn.close
set conn=nothing
%>

  文章到这里就结束了,至于邮件数据库的数据结构大家根据代码自己琢磨吧

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·把.NET程序部署到没有安装.NET Framwork的机器上-.NET教程,.NET Framework
·在java中实现sql的select函数功能-JSP教程,Java技巧及代码
·利用排序规则特点计算汉字笔划和取得拼音首字母-数据库专栏,SQL Server
·使用脚本自动修改ip设置-.NET教程,面向对象编程
·ASP.NET2.0下含有CheckBox的GridView删除选定记录实例-.NET教程,评论及其它
·XMLHTTP---介绍-JSP教程,Java与XML
·JAVA与数据库连接方法(一)-JSP教程,数据库相关
·Lucene.net 实现全文搜索-.NET教程,Asp.Net开发
·ASP+SMTP完成邮件群发功能-ASP教程,ASP应用
·SQL无法连接-数据库专栏,SQL Server
最新文章
·photoshop照片处理:表现超酷的金色色调_photoshop教程
·google adsense广告应避免18个错误_网赚技巧
·郭凡生:行业网站没技术门槛 只懂销售_站长访谈
·想建站?应该如何定位和掌握什么技术?_站长心得
·个人网站创业 不要惧怕技术门槛_站长心得
·photoshop打造“非主流”颓废照片特效_photoshop教程
·速成不是网站的根本_站长心得
·网站推广之半年打造10万ip的流量_站长心得
·保持网站流量 对网站改版方案建议_站长心得
·google adwords广告关键词须注意的问题_google推广
相关主题
  • 用asp实现支持附件的email系统_邮件服务器
  • 用asp实现自己的UrlDeCode-ASP教程,ASP应用
  • 用asp实现base64编码-ASP教程,ASP应用
  • 用ASP实现自动建站.实现虚拟二级目录-ASP教程,ASP应用
  • 用ASP实现汉字转拼音的功能-ASP教程,ASP应用
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭