ZDNetChina中文社区 » C/C++ » 移动与嵌入式开发 » 基于Windows CE的嵌入式电子邮件系统设计


2008-4-23 16:11 ly5418
基于Windows CE的嵌入式电子邮件系统设计

从1996年的[url=http://article.ednchina.com/word/506.aspx]Windows CE[/url] 1.0 到最新的Windows CE.Net, WINCE 已有8年历史。Windows CE设计简单灵活,可在各种小型[url=http://article.ednchina.com/word/508.aspx]嵌入式[/url]系统中使用,且其功能强大,在最新一代的高性能工业和家用设备中也得到了充分使用。Microsoft eMbedded Visual Tools是微软公司专为WINCE设备开发的一套开发环境,功能强大,开发方便快捷。二者的结合为实现嵌入式[url=http://article.ednchina.com/word/507.aspx]电子邮件系统[/url]提供了绝佳的开发环境。   本嵌入式电子邮件系统,即是以Windows CE为开发平台,结合Embedded Visual Basic 3.0开发工具设计实现的。最后采用Microsoft POCKET PC2002 for Windows SDK工具完成系统的测试。
[b]  1 移动设备邮件系统的工作原理[/b]
  目前网络上的电子邮件传送有点如同日常信件中的普通信件发送,日常生活中人们首先将邮件交给邮局,邮局再按照信封上的地址投递,最后将邮件发到收信的人信箱里,收信人只要凭借他的信箱钥匙就可以拿到信件。同样的一封电子邮件从用户手中发出,首先有一个程序把这封邮件发送到SMTP服务器上,再由服务器负责将邮件传递到目的信箱。然后需要一个程序接受信箱的邮件,当然也不是只要随便有一个程序就可以的,还需要帐号(如同收信人姓名)与口令(如同信箱钥匙)。所以很明显,发送邮件至少需要4个处理不同任务,有不同功能的程序:发送邮件到服务器的程序,即发送邮件客户端程序;在网络上传送邮件到对方信箱的程序,即SMTP服务器程序;接受邮件并存贮给用户提取的服务器程序,即POP3服务器程序;从POP3服务器上收取邮件的程序,即接受邮件客户端程序。
  收发电子邮件依靠一套标准的会话协议,其中最为著名现在最常用的有:SMTP协议,该协议规定了与SMTP服务器进行对话的一系列命令与过程标准;POP3协议,该协议规定了与POP3服务器进行对话的一系列命令与过程标准。还有IMAP4协议,类似POP3的邮件接收协议。
[b]  1.1 SMTP协议[/b]
  SMTP(Simple Mail TransferProtocol)又叫做简单邮件传输协议。它主要对如何将电子邮件从发送方地址传送到接收方,也即是对传输的规则做了规定。SMTP协议的通信模型并不复杂,主要工作集中在发送SMTP和接收SMTP上:首先针对用户发出的邮件请求,由发送SMTP建立一条连接到接收SMTP的双工通讯链路,发送SMTP负责向接收SMTP发送SMTP命令,而接收SMTP则负责接收并反馈应答。可大致用下页的SMTP通讯模型示意图来表示:
[align=center][img=407,158]http://www.ednchina.com/images/article/d56d5853-6c35-454b-872f-b0ad9cd02bfd/1.jpg[/img][/align][align=center]图 1  SMTP 通讯模型示意图[/align][b]  1.2 POP3协议[/b]
  POP3(Post Office Protocol Version3)是整个电子邮件系统的基本协议之一。POP3适用于C/S结构的脱机模型的电子邮件协议。初始时,服务器通过侦听TCP端口110开始POP3服务,当客户主机需要使用服务时,它将与服务器主机建立TCP连接。当连接建立后,POP3发送确认消息,客户和POP3服务器相互(分别)交换命令和响应。这一过程一直要持续到连接终止。
[b]  2 系统设计[/b]
  该邮件系统由两个客户端程序组成,SMTP MAILER实现邮件和附件的发送,POP3 MAIL CHECKER用于登陆邮件服务器接受原始的邮件信息。
[b]  2.1 邮件发送端设计与实现[/b]
[b]  2.1.1发送端工作流程[/b]
  下图是邮件发送流程图
[align=center][img=464,415]http://www.ednchina.com/images/article/d56d5853-6c35-454b-872f-b0ad9cd02bfd/2.jpg[/img][/align]
[b]  2.2 邮件接受端的设计与实现[/b]
[b]  2.2.1  接收端工作流程[/b]
[align=center][img=203,308]http://www.ednchina.com/images/article/d56d5853-6c35-454b-872f-b0ad9cd02bfd/3.jpg[/img][/align][align=center]图3 接收端工作流程[/align][b]  2.2.2 功能实现[/b]
  POP3的通信与SMTP一样,也可以通过Winsock来实现。该POP3邮件程序的过程如同POP3对话一样。POP3服务器的应答要比SMTP简单许多,其操作的应答状态码只有两个“+OK”表示成功,“+ERR”表示失败。具体细节不再赘述。
[b]  3 软件模块功能测试[/b]
  为了评估[url=http://article.ednchina.com/word/507.aspx]电子邮件系统[/url]的两个客户端程序的实际可用性,必须对其系统的各个模块进行测试。本测试所采用的是微软开发的POCKET PC2002 for Windows SDK程序包。
[b]  3.1 邮件发送客户端的测试[/b]
  为了测试邮件发送系统的功效,可在已配置网络的模拟器上载入邮件发送程序,使其工作在虚拟机的操作系统中。
  配置好SMTP服务器资料与ESMTP所需的认证信息后,发送一封简单的RFC822电子邮件到对方信箱中,成功发送。同样的方式,测试发送MIME邮件,得到如下测试结果:
[align=center][img=477,166]http://www.ednchina.com/images/article/d56d5853-6c35-454b-872f-b0ad9cd02bfd/4.jpg[/img][/align]图4 发送端测试结果
[b]3.2 邮件接收客户端的测试[/b]  同邮件发送客户端一样,采用同样的网络设置,载入程序,登入网络。先选择POP3的邮件服务器地址,设定用户信息与密码,确认后获得基础的认证,并传回邮箱中信件的数量与大小统计。经测试收到了预期的效果。
  以上两个程序的测试都是在网络环境下进行的,如果网络连接不正常或其他原因导致邮件的收发不成功,在程序设计的出错处理中已经有所考虑。
[b]  4 结语[/b]
  与网络结合已成为所有信息产品的发展趋势,随着PDA等[url=http://article.ednchina.com/word/508.aspx]嵌入式[/url]系统的日益普及以及无线互联技术(802.11B)的发展,利用PDA实现掌上电脑与台式机间相互传递电子邮件,已经成为一种结合时尚和便利于一身的通信手段。作者设计实现的基于[url=http://article.ednchina.com/word/506.aspx]Windows CE[/url]的嵌入式[url=http://article.ednchina.com/word/507.aspx]电子邮件系统[/url],为实现移动设备之间邮件传输作了良好的尝试。

[[i] 本帖最后由 ly5418 于 2008-4-23 04:23 PM 编辑 [/i]]

2008-4-23 16:22 qq46493154
:victory: :victory: :victory: :victory: 顶 谢谢 共享

2008-4-23 16:25 ly5418
不客气

好东西就是要共享

页: [1]


Powered by Discuz!  Archiver   © 2001-2006 Comsenz Inc.