ASP开发WAP简易邮件系统实例(续)

  上一篇:ASP开发WAP简易邮件系统实例

  3) 发送邮件


图五

  发送邮件功能的实现主要采用了Jmail.Message对象完成,关于所要用到的对象相关知识在前面已经叙述过了,大家可以将上面的功能介绍与源码对照起来阅读,这样有助于理解整个邮件发送过程,当然如果将WM元素换为HTMLF元素,这样一个简单的WEB邮件发送功能也就完成了,send.asp为邮件发送页面 sendok.asp为邮件发送处理页面

  Send.asp

  〈% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %〉
  〈%Response.ContentType = "text/vnd.wap.wml; charset=UTF-8"%〉
  〈?xml version="1.0" encoding="utf-8"?〉
  〈!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"〉
  〈wml〉
  〈card id="main" title="发件箱"〉
  〈p〉
  〈%
  user=request("user")
  pwd=request("pwd")
  %〉
  收件人:
  〈input type="text" title="收件人" name="tomail" size="12" maxlength="50"/〉〈br/〉
  标题:
  〈input type="text" title="标题" name="subject" size="12" maxlength="50"/〉
  〈br/〉内容:
  〈input type="text" title="内容" name="body" size="12" maxlength="250"/〉〈br/〉
  〈do type="accept" label="发送" optional="false"〉
  〈go href="sendok.asp?user=〈%=user%〉&pwd=〈%=pwd%〉" method="post" accept-charset="utf-8"〉
  〈postfield name="from" value="$(from)"/〉
  〈postfield name="tomail" value="$(tomail)"/〉
  〈postfield name="subject" value="$(subject)"/〉
  〈postfield name="body" value="$(body)"/〉〈/go〉
  〈/do〉
  〈/p〉
  〈p〉
  〈a href="main.asp?user=〈%=user%〉&pwd=〈%=pwd%〉"〉返回邮箱〈/a〉〈/p〉
  〈/card〉
  〈/wml〉

  Sendok.asp

  〈% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %〉
  〈%Response.ContentType = "text/vnd.wap.wml; charset=UTF-8"%〉
  〈?xml version="1.0" encoding="utf-8"?〉
  〈!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"〉
  〈wml〉
  〈card id="main" title="发送邮件"〉
  〈p〉
  〈%
  user=request("user")
  pwd=request("pwd")
  tomail=request("tomail")
  'from=request.form("from")
  subject=request.form("subject")
  body=request.form("body")
  servermail=user+"@sohu.com"
  dim JMail
  set JMail=server.CreateObject("Jmail.message")
  JMail.Silent=true
  JMail.Charset = "gb2312"
  JMail.from =""&ServerMail&"" '为发件人
  JMail.AddRecipient tomail
  JMail.Subject =""&subject&""
  jmail.Body=""&body&"----------你当前使用的众赢掌中邮系统,详情请访问:http://www.palmmail.cn邮通天下 一触即发!----------"
  JMail.MailServerUserName =user
  JMail.MailServerPassWord = pwd
  JMail.MailDomain = "www.sohu.com"
  JMail.Priority=2
  sendok=JMail.send("smtp.sohu.com")
  Set JMail=nothing
  if sendok then
  response.write "发送成功!〈a href='main.asp?user="&user&"&pwd="&pwd&"'〉返回邮箱〈/a〉"
  else
  response.write "发送失败!〈a href='send.asp?user="&user&"&pwd="&pwd&"'〉返回邮箱〈/a〉"
  end if
  %〉
  〈/p〉
  〈/card〉
  〈/wml〉

  4) 接收邮件


图六

  接收邮件主要由两部分组成,第一部分为邮件列表,根据所获得的邮件总数(pop3.count)进行分页显示。第二部分为每封信的具体内容,其中包括对附件进行检测功能,由于手机浏览时并不能打开附件,因此本系统只对附件作了检测并提醒用户邮件是否包含邮件功能。

  源码如下:

  邮件列表:email_list.asp

  〈% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %〉
  〈%Response.ContentType = "text/vnd.wap.wml; charset=UTF-8"%〉
  〈?xml version="1.0" encoding="utf-8"?〉
  〈!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"〉
  〈wml〉
  〈card id="main" title="收件箱"〉
  〈p〉
  〈%
  user=request("user")
  pwd=request("pwd")
  dim perpage_num,curpage,totalpage
  perpage_num=3 '设每页显示条数
  if request("page")="" then
  curpage=1 '当前页
  else
  curpage=int(request("page"))
  end if
  Set pop3 = Server.CreateObject( "JMail.POP3" )
  pop3.connect user,pwd,"http://pop3.sohu.com"
  ' POP3的连接用户名,密码,POP3地址
  if pop3.count mod perpage_num〈〉0 then
  totalpage=int(pop3.count / perpage_num)+1
  else
  totalpage=int(pop3.count / perpage_num)
  end if
  Response.Write( "你现在有" & pop3.count & " 封邮件。分"&totalpage&"页,当前"&curpage&"页〈br/〉---------------------〈br/〉" )
  if pop3.count 〉 0 then '如果没有邮件则显示无邮件
  if pop3.count〉=perpage_num*curpage then
  for i=(curpage-1)*perpage_num to curpage*perpage_num-1%〉
  〈a href="email_info.asp?id=〈%=i+1%〉&user=〈%=user%〉&pwd=〈%=pwd%〉&page=〈%=curpage%〉"〉〈%=pop3.messages.item(i+1).Subject%〉--〈%=pop3.messages.item(i+1).date%〉〈/a〉〈br/〉
  〈%next
  %〉
  〈%if curpage〉1 then%〉
  〈a href="email_list.asp?page=〈%=curpage-1%〉&user=〈%=user%〉&pwd=〈%=pwd%〉"〉上一页〈/a〉
    〈%end if%〉
  〈%if int(curpage)〈int(totalpage) then%〉
  〈a href="email_list.asp?page=〈%=curpage+1%〉&user=〈%=user%〉&pwd=〈%=pwd%〉"〉下一页〈/a〉
  〈%end if%〉
  〈%
  else
  for i=(curpage-1)*perpage_num to pop3.count-1%〉
  〈a href="email_info.asp?id=〈%=i+1%〉&user=〈%=user%〉&pwd=〈%=pwd%〉&page=〈%=curpage%〉"〉〈%=pop3.messages.item(i+1).Subject%〉--〈%=pop3.messages.item(i+1).date%〉〈/a〉〈br/〉
  〈%next%〉
  〈%if curpage〉1 then%〉
  〈a href="email_list.asp?page=〈%=curpage-1%〉&user=〈%=user%〉&pwd=〈%=pwd%〉"〉上一页〈/a〉
    〈%end if%〉
  〈%if int(curpage)〈int(totalpage) then%〉
  〈a href="email_list.asp?page=〈%=curpage+1%〉&user=〈%=user%〉&pwd=〈%=pwd%〉"〉下一页〈/a〉
  〈%end if%〉
  〈%
  end if
  else
  response.write("暂无邮件!")
  end if
  pop3.Disconnect
  %〉
  〈/p〉
  〈p〉
  〈a href="main.asp?user=〈%=user%〉&pwd=〈%=pwd%〉"〉返回邮箱〈/a〉
  〈/p〉
  〈/card〉
  〈/wml〉

  邮件详细信息:email_info.asp

  〈% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %〉
  〈%Response.ContentType = "text/vnd.wap.wml; charset=UTF-8"%〉
  〈?xml version="1.0" encoding="utf-8"?〉
  〈!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"〉
  〈wml〉
  〈card id="main" title="查看邮件"〉
  〈p〉
  〈%
  user=request("user")
  pwd=request("pwd")
  id=request("id")
  page=request("page")
  Set pop3 = Server.CreateObject( "JMail.POP3" )
  ' POP3的连接用户名,密码,POP3地址
  pop3.connect user,pwd,"http://pop3.sohu.com"
  Set msg = pop3.Messages.item(id)
  ReTo = ""
  ReCC = ""
  Set Recipients = msg.Recipients
  separator = ", "
  For i = 0 To Recipients.Count - 1
  If i = Recipients.Count - 1 Then
  separator = ""
  End If
  Set re = Recipients.item(i)
  If re.ReType = 0 Then
  ReTo = ReTo & re.Name & re.EMail & separator
  else
  ReCC = ReTo & re.Name & re.EMail & separator
  End If
  Next
  body=msg.body
  body=replace(body,"〈","")
  body=replace(body,"〉","")
  Set Attachments = msg.Attachments
  %〉
  〈a href="email_title.asp?user=〈%=user%〉&pwd=〈%=pwd%〉&page=〈%=page%〉"〉返回上一页〈/a〉 〈a href="reply.asp?user=〈%=user%〉&pwd=〈%=pwd%〉&mailto=〈%=msg.From%〉"〉回复〈/a〉 〈a href="email_del.asp?user=〈%=user%〉&pwd=〈%=pwd%〉&id=〈%=id%〉"〉删除〈/a〉
  〈/p〉
  〈p〉
  发件人:〈%= msg.FromName %〉--〈%=msg.date%〉〈br/〉
  标题:〈%= msg.Subject %〉〈br/〉
  内容:〈%= body %〉〈br/〉
  〈%
  if Attachments.Count〉0 then
  response.Write("信件中包含附件,请通过网络查收!")
  end if
  pop3.Disconnect
  %〉
  〈/p〉
  〈p〉
  〈a href="email_list.asp?user=〈%=user%〉&pwd=〈%=pwd%〉&page=〈%=page%〉"〉返回上一页〈/a〉 〈a href="reply.asp?user=〈%=user%〉&pwd=〈%=pwd%〉&mailto=〈%=msg.From%〉"〉回复〈/a〉 〈a href="email_del.asp?user=〈%=user%〉&pwd=〈%=pwd%〉&id=〈%=id%〉"〉删除〈/a〉
  〈/p〉
  〈/card〉
  〈/wml〉

  5) 删除邮件

  本功能与邮件回复功能一样,为邮件查看页面的一个子功能,通过MessageID传递实现删除邮件。

  源码:email_del.asp

  〈% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %〉
  〈%Response.ContentType = "text/vnd.wap.wml; charset=UTF-8"%〉
  〈?xml version="1.0" encoding="utf-8"?〉
  〈!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"〉
  〈wml〉
  〈card id="main" title="删除成功"〉
  〈p〉
  〈%
  user=request("user")
  pwd=request("pwd")
  id=request("id")
  Set pop3 = Server.CreateObject( "JMail.POP3" )
  ' POP3的连接用户名,密码,POP3地址
  pop3.connect user,pwd,"http://pop3.sohu.com"
  pop3.deletesinglemessage id
  pop3.Disconnect
  Set JMail=nothing
  response.write delok&"删除成功!〈a href='email_list.asp?user="&user&"&pwd="&pwd&"'〉返回收件箱〈/a〉"

  %〉
  〈/p〉
  〈/card〉
  〈/wml〉

  6) 回复邮件

  回复邮件基本与发送邮件相同,只是将发送人由原来的手工输入改成通过URL参数传递,当然也可以将邮件主体内容传递到回复邮件的主体中,但由于当今手机上网基本采用流量收费的方式,为了减少流量就省去了这些功能,具体代码如下:

  Reply.asp

  〈% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %〉
  〈%Response.ContentType = "text/vnd.wap.wml; charset=UTF-8"%〉
  〈?xml version="1.0" encoding="utf-8"?〉
  〈!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"〉
  〈wml〉
  〈card id="main" title="发件箱"〉
  〈p〉
  〈%
  user=request("user")
  pwd=request("pwd")
  tomail=request("mailto")
  %〉
  收件人:
  〈%=tomail%〉〈br/〉
  标题:
  〈input type="text" title="标题" name="subject" size="8" maxlength="50"/〉
  〈br/〉内容:
  〈input type="text" title="内容" name="body" size="8" maxlength="250"/〉〈br/〉
  〈do type="accept" label="发送" optional="false"〉
  〈go href="sendok.asp?user=〈%=user%〉&pwd=〈%=pwd%〉&tomail=〈%=tomail%〉" method="post" accept-charset="utf-8"〉
  〈postfield name="subject" value="$(subject)"/〉
  〈postfield name="body" value="$(body)"/〉〈/go〉
  〈/do〉
  〈/p〉
  〈p〉
  〈a href="email_list.asp?user=〈%=user%〉&pwd=〈%=pwd%〉"〉返回收件箱〈/a〉〈br/〉
  〈a href="main.asp?user=〈%=user%〉&pwd=〈%=pwd%〉"〉返回邮箱〈/a〉〈/p〉
  〈/card〉
  〈/wml〉

  虽然这套系统可以实现邮件的发送、接收、回复、删除等功能,但是很多方面都是非常欠缺的,比如接收邮件时不能够显示出未读邮件,邮件不能够按照发送邮件的先后顺序排序等等,希望大家有兴趣帮忙多多完善,有什么好的想法好的建议多与我交流,欢迎来信sn1985boy@sohu.com。

时间: 2024-08-19 11:45:25

ASP开发WAP简易邮件系统实例(续)的相关文章

ASP开发WAP简易邮件系统实例

下一篇:ASP开发WAP简易邮件系统实例(续) 随着手机用户的不断增加,WAP站点如雨后春笋迅速的滋长开来,手机邮箱也不断的出现在人的眼前,笔者也曾经开发了一套手机邮箱的系统,但由于时间仓促再加上后来一直忙于工作事情,系统功能也就再未加强,今日有幸借助于IT168原创网公开出来,与大家共同分享,希望大家可以借题发挥,加强系统功能,能够更好的应用于实际. 测试软件:Opera M3gate 测试机型:Eg730+ Nokia 6681 Moto V3i 邮件组件:W3 Jmail 4.4 一.WM

ASP开发WAP邮箱系统实例

随着手机用户的不断增加,WAP站点如雨后春笋迅速的滋长开来,手机邮箱也不断的出现在人的眼前,笔者也曾经开发了一套手机邮箱的系统,但由于时间仓促再加上后来一直忙于工作事情,系统功能也就再未加强,今日有幸借助于IT168原创网公开出来,与大家共同分享,希望大家可以借题发挥,加强系统功能,能够更好的应用于实际. 测试软件:Opera M3gate 测试机型:Eg730+ Nokia 6681 Moto V3i 邮件组件:W3 Jmail 4.4 一.WML结构介绍 首先我们先对WML的结构作个简单的介

求助!!关于ASP.NET开发WAP问题!

问题描述 最近在用ASP.NET开发WAP这是我在ASPX中写的<%@PageLanguage="C#"ContentType="text/vnd.wap.wml"%><?xmlversion="1.0"encoding="gb2312"?><!DOCTYPEwmlPUBLIC"-//WAPFORUM//DTDWML1.1//EN""http://www.wapfor

急求。。asp.net开发wap网页获取当前手机所在的坐标

问题描述 急求..asp.net开发wap网页获取当前手机所在的坐标位置或者区域商圈位置 解决方案 解决方案二:GPS信息吗?如果是的话用JavaScript就可以获取了..代码如下<!DOCTYPEhtml><html><body><pid="demo">点击这个按钮,获得您的位置:</p><buttononclick="getLocation()">试一下</button><

asp.net web 应用程序 开发的项目中如何开发wap网页啊!在线等。。。。。

问题描述 "asp.netweb应用程序"开发的项目中如何开发wap网页啊!只有在用"asp.net网站"开发的项目中才看到有:添加新项>>移动wap窗体 解决方案 解决方案二:移动wap窗体又不好用....解决方案三:我不管他好不好用,可以就行!!解决方案四:1.1的话直接写WML就成了2.0的话差不多写成HTML不要用带JS的控件就成了~不懂非要用微软的那个什么移动窗体做什么...VS2008都放弃了的东西...解决方案五:就像做web网站一样做移动

asp.net开发wap程序必备:识别来访手机品牌型号

我们在开发wap应用程序需要有识别来访手机品牌型号的功能,这样才可以更好的为用户提供更好的个性化服务,比如图片类型.屏幕尺寸.铃声类型等.      http协议中,User-Agent这个标头指示的浏览器信息,文章最后附加了常见的手机User-Agent.      每个厂家,甚至一个厂家多个品牌的User-Agent都没有一个统一命名标准,所以处理起来相当麻烦---不停的if.比如判断某个手机的品牌     If Request.UserAgent.ToUpper.StartsWith("M

用QuickWAP组件结合ASP建设Wap站点

站点 用QuickWAP组件建设Wap站点教程-准备篇 首先我们要简单了解一下什么是QuickWAP,QuickWAP V1.0精简版是一款基于WAP1.2协议,利用VB6 开发的一个辅助ASP+WML语言编写WAP网页的组件. 其次我们要安装安装QuickWAP V1.0精简版 安装过程如下: 1.首先将QuickWAP.dll文件拷贝到系统system32目录下. Windows 2000/Server/Advanced Server操作系统为: 系统盘符:\WINNT\system32\

走上开放之路: ASP开发人员的J2EE基础(下)

相关文章:走上开放之路: ASP 开发人员的 J2EE 基础(上) ASP/COM 和 J2EE 应用程序模型 接下来研究不同的应用程序体系结构,您可以使用这些体系结构开发 J2EE 应用程序并将 其与相应的 ASP/COM 应用程序体系结构关联起来. 使用 Java Servlets 编程:基础知识 编写 Java Servlets 就可以对来自 URL 的请求进行可编程控制.典型的 servlet 调用 类似于以下步骤: 客户机向 Web 服务器发出请求,将 servlet 命名为 URL

开发Wap中的随笔

Asp开发 联通CDMA 以下是在开发wap中的随笔,其中一些对于"老鸟"来说,谈不上什么,希望对初学者有所帮助,大家有什么小技巧,欢迎顶上来.共同学习.共同进步 ^-^1.iis配置Wap环境在作为wap站点的属性-->Http头-->MIME映射中添加新的文件类型,具体如下:关联文件名 内容类型wml text/vnd.wap.wmlwmlc application/vnd.wap.wamlcwmls text/vnd.wap.wmlscriptwmlsc applic