1、引言
PDA 即个人数字助理, 是集数字、文字和图像于一体的高科技产品;是一种用于处理个人事务的数字设备。其产品功能主要表现在记录和处理个人信息如通讯录、名片册、计算器、日程安排、约会信息提示等。随着互联网越来越深入到人们的生活中,用户对PDA设备的要求也越来越高。用户希望PDA能通过接入Internet来收发电子邮件,还可以通过电子邮件方式获取各种增值服务。如通过电子邮件接收财经(股票、金融)、旅游、气象等等信息。要使PDA成为一个实用的信息终端,电子邮件系统是其不可缺少的重要组成部分。
2、PDA电子邮件收发系统
2.1 系统功能
PDA电子邮件系统的主体是一组基于TCP/IP协议的电子邮件收发程序。运行在PDA上的邮件收发程序通过调制解调器拨号连接到ISP,然后接入Internet。通过Internet,PDA可以和邮件接收服务器建立连接,使用POP3协议来接收邮件;也可以和邮件发送服务器建立连接,使用SMTP协议来发送邮件。
2.2 硬件平台
我们所使用的PDA硬件平台是基于ADZ80芯片的,具有50MHZ的运行速度,它除了输入输出设备、CPU、存储器等基本配置外,还包括了自带的LCD控制屏、触摸屏控制器、时钟、中断控制器等外设,因此它是一款性能优异、价格低廉的PDA设备。
PDA是一个特殊的设备,它所具有的RAM资源相对PC而言实在太少,由于系统结构的限制,代码与数据块的大小超过64K时必须进行段切换。由于PDA电子邮件系统是利用ANSI C来开发的,而用C语言来实现段切换又相当困难,所以必须把电子邮件系统的最终代码和数据分别安排在两个不同的段中,且每个段不能超过64K。另外,PDA设备是一个没有文件管理功能和内存管理功能的系统,因而不能根据邮件的大小来动态地申请邮件存储空间,只能给单一邮件分配一个固定大小的8K缓冲区。当邮件超过8K时,就放弃该邮件的接收。
3、电子邮件识别与封装模块的设计与实现
3.1、识别与封装模块的功能
PDA电子邮件收发系统的邮件识别功能是指收发程序能识别从邮件服务器中收取的邮件并从中抽取出用户所需要的邮件内容,再交给PDA主控程序进行显示;邮件封装的功能是指在PDA调用SMTP协议发送邮件之前,把用户希望发送的信息封装成RFC822、RFC1521所定义的MIME结构。
3.2、接收邮件大小的控制。
PDA原型机只提供8K的邮件接收缓冲区,当邮件超过8K的时候,如果要接收该邮件,则会使缓冲区溢出,从而导致系统异常。所以在接收整个邮件内容之前,必须判断该邮件的大小是否超过8K,如果超过8K的邮件,就放弃该邮件的接收。我们的解决方案是首先利用POP3协议的LIST命令,该命令返回用户邮箱中的邮件目录及每个邮件的大小,然后利用其扩展命令TOP取得单一邮件的摘要信息。将这些邮件目录内容返回给主控程序,PDA主控程序把它显示在PDA屏幕上,供用户选择其中的部分或全部进行接收。当用户选择了超过8K的邮件时,接收模块跳过该邮件转而接收下一个。
3.3、识别与生成模块与PDA主控程序的数据接口
PDA原型机没有操作系统,只有一个控制系统运行的主控程序。对于电子邮件系统而言,该主控程序将用户输入后需要发送的邮件交给电子邮件系统;并从邮件系统中输入接收到的邮件,显示在PDA屏幕上,供用户浏览。为了完成与PDA