首页   |  注册   |  登录   |  关于蓝鸟   |  技术文章   |  蓝鸟作品   |  给我留言   |  实用工具   |  繁体版
技术文章
   当前位置:首页 > 技术文章 > ASP专区 > ASP应用实例 > 所有信息
ASP开发的WAP格式简易邮件系统实例(1)
文章作者::懒羊    文章来源:IT168    录入时间:2008-5-26    浏览次数:      字体: 放大 默认 缩小

随着手机用户的不断增加,WAP站点如雨后春笋迅速的滋长开来,手机邮箱也不断的出现在人的眼前,笔者也曾经开发了一套手机邮箱的系统,但由于时间仓促再加上后来一直忙于工作事情,系统功能也就再未加强,今日有幸借助于IT168原创网公开出来,与大家共同分享,希望大家可以借题发挥,加强系统功能,能够更好的应用于实际。

测试软件:Opera M3gate

测试机型:Eg730+ Nokia 6681 Moto V3i

邮件组件:W3 Jmail 4.4

一、WML结构介绍

首先我们先对WML的结构作个简单的介绍,以便于大家更好的浏览源码。
〈?xml version="1.0"?〉
  〈!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1xml"〉
  〈wml〉
  〈head〉
  〈access/〉
  〈meta..../〉
  〈/head〉
  〈card〉
  Some contents...
  〈/card〉
  〈wml〉

我们根据以上结构举个最简单的例子:

〈% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %〉
  〈%Response.ContentType = "text/vnd.wap.wml; charset=UTF-8"%〉
  〈?xml version="1.0"?〉
  〈!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1xml"〉
  〈wml〉
  〈card title="邮件系统"〉
  〈p〉
  WML开发邮件系统
  〈/p〉


  〈/card〉
  〈/wml〉

将以上代码存为example.asp,直接通过M3gate查看,具体效如图一。

 

图一

“邮件系统”这一段文字为UTF-8码,为了更好的适用于手机浏览,建议编码格式采用UTF-8,大家可以下载WAP编码转换器对中文进行转换。

由于我们系统采用ASP语言开发,因此在以上代码段前面还需加上以下两段代码:

〈% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %〉

指定IIS以UTF-8的编码格式读取传递过来的串串(表单提交,地址栏传递等),如果需要以GB2312的格式读取,可以将65001换成936。

〈%Response.ContentType = "text/vnd.wap.wml; charset=UTF-8"%〉

指定页面输出格式为WML,并且编码为UTF-8

二、JMail组件功能介绍

W3 Jmail是一个smtp组件,利用它可以发送邮件,支持html格式邮件。你可以访问主页:http://tech.dimac.net 下载这个组件。w3 Jmail 发送邮件速度快,功能丰富,并且是免费的。

以下是本系统所要用到的相关函数及属性,如需更详细的资料可以查阅JMail的官方说明。

1、JMAIL.POP3

创建POP3对象

Set pop3 = Server.CreateObject( "JMail.POP3" )

Connect(Username, Password, Server, Port) :

打开并连接POP3服务器,

Username:邮箱用户名

Password:邮箱密码

Server:POP3服务器

Port:服务器端口号,可选项,默认为110

mailbox.Connect "john", "qwerty", "mail.myDomain.com"

Disconnect() :

关闭连结

示例:mailbox.Disconnect

DeleteSingleMessage(MessageID) :

从邮件服务器上删除由MessageID指定的邮件。

Mailbox.DeleteSingleMessage 1

Messages() : Pointer

返回Message的集合

set messages = mailbox.Messages

2、JMAIL.MESSAGE

建立Message对象:

set Message=server.CreateObject("Jmail.message")

Silent() : Boolean

如果设置为true,JMail不会抛出例外错误. JMail.execute() 会根据操作结果返回true或false

Message.silent = true

Charset() : String

字符集,缺省为"US-ASCII"

Message.Charset = "US-ASCII"

From() : String

发件人

Message.From=”sn1985boy@sohu.com”

Subject() : String

发送主题

Message.Subject=”测试”

Body() : String

邮件主体部分

Message.Body=“恭喜发送成功!”

MailServerUserName() : String

用户名

Message.MailServerUserName=“*****”

MailServerPassWord() : String

密码

Message.MailServerPassWord=”********”

MailDomain() : String

邮件服务器的域名

Message.MailDomain=”www.sohu.com”

Priority() : Byte

紧急程度,默认为3,1为最快,5为最慢

Message.Priority=2

Send(mailServer, enque) : Boolean

发送邮件。邮件服务器是一个描述邮件服务器名称或地址的字符串,用户名和密码是可选项。当要发送认证邮件时使用格式为:用户名:密码@邮件服务器

Message.Send("myMailServer"), Message.Send("myUserName:mypassword@mymailserver.mydomain.com")

Count() : Integer

返回邮件数

i = mailbox.Count

Item(Index) : Pointer

返回一个Message对象

set msg = Messages.Item(0)

Recipients() : Pointer

返回收件人集合。

Set Recipients = msg.Recipients

Attachments() : Pointer

返回邮件的附件集合。

Set Attachments = msg.Attachments

3、JMail.Recipients

Count() : Integer

返回集合中收件人的总数。

:i = Recipients.Count

Item(Index) : Pointer

返回集合中的一个指定的收件人。

set re = Recipients.Item(0)

4、JMail.Attachments

Count():Integer

返回集合中附件的总数。

i = Attachments.Count

三、邮件系统介绍

本邮件系统共包括登陆邮件、发送邮件、接收邮件、删除邮件、回复邮件五个功能,以下我们就对每个功能进行单独介绍,并附出源码,本教程所有图片为M3gate测试中的截图。

1) 登陆邮件

 

图二

从图二中我们可以看出,登陆页面包括一个表单,表单中含有两个文本框与一个发送按钮,那么在WML语言中是如何提交表单的呢?首先我们先看看wml语言中一些表单元素:1、input元素

〈input name="user" title="label" type="type" &#118alue="&#118alue" default="default" format="specifier" emptyok="false|true" size="n" maxlength="n" tabindex="n"/〉,用来输入文本,除了name属性是必要的,其他可选。

录入编辑:极速蓝鸟
www.roc3000.com 设计网
注意:本站《技术文章》栏目的文章内容大部份是<蓝鸟>从2003年来由网络上收集的,小部份由<蓝鸟>本人原创。本站《技术文章》栏目的创建不含任何商业目的,只限于网页设计爱好者间的技术经验交流,纯属个人爱好行为。如有个别文章内容与原创作者冲突,请与本站联系,本站会尽快删除原创者文章。本站任何文章和图片没有经原创作者许可,不可用于任何商业,营利行为,否则本站对其造成的后果概不负责,亦不承担任何法律责任。谢谢合作!