基于Win CE的嵌入式电子邮件系统设计

开发
从1996年的Windows CE 1.0 到最新的Windows CE.Net, WINCE 已有8年历史。Windows CE设计简单灵活,可在各种小型嵌入式系统中使用,且其功能强大,在最新一代的高性能工业和家用设备中也得到了充分使用。Microsoft eMbedded Visual Tools是微软公司专为WINCE设备开发的一套开发环境,功能强大,开发方便快捷。二者的结合为实现嵌入式电子邮件系统提供了绝佳的开发环境。

从1996年的Windows CE 1.0 到最新的Windows CE.Net, WINCE 已有8年历史。Windows CE设计简单灵活,可在各种小型嵌入式系统中使用,且其功能强大,在最新一代的高性能工业和家用设备中也得到了充分使用。Microsoft eMbedded Visual Tools是微软公司专为WINCE设备开发的一套开发环境,功能强大,开发方便快捷。二者的结合为实现嵌入式电子邮件系统提供了绝佳的开发环境。
  
本嵌入式电子邮件系统,即是以Windows CE为开发平台,结合Embedded Visual Basic 3.0开发工具设计实现的。最后采用Microsoft POCKET PC2002 for Windows SDK工具完成系统的测试。
  
1 移动设备邮件系统的工作原理
  
目前网络上的电子邮件传送有点如同日常信件中的普通信件发送,日常生活中人们首先将邮件交给邮局,邮局再按照信封上的地址投递,最后将邮件发到收信的人信箱里,收信人只要凭借他的信箱钥匙就可以拿到信件。同样的一封电子邮件从用户手中发出,首先有一个程序把这封邮件发送到SMTP服务器(发送邮件的服务器)上,再由服务器负责将邮件传递到目的信箱。然后需要一个程序接受信箱的邮件,当然也不是只要随便有一个程序就可以的,还需要帐号(如同收信人姓名)与口令(如同信箱钥匙)。所以很明显,发送邮件至少需要4个处理不同任务,有不同功能的程序:发送邮件到服务器的程序,即发送邮件客户端程序;在网络上传送邮件到对方信箱的程序,即SMTP服务器程序;接受邮件并存贮给用户提取的服务器程序,即POP3服务器程序;从POP3服务器上收取邮件的程序,即接受邮件客户端程序。
  
收发电子邮件依靠一套标准的会话协议,其中最为著名现在最常用的有:SMTP协议,该协议规定了与SMTP服务器进行对话的一系列命令与过程标准;POP3协议,该协议规定了与POP3服务器进行对话的一系列命令与过程标准。还有IMAP4协议,类似POP3的邮件接收协议。
  
1.1 SMTP协议
  
SMTP(Simple Mail Transfer Protocol)又叫做简单邮件传输协议。它主要对如何将电子邮件从发送方地址传送到接收方,也即是对传输的规则做了规定。SMTP协议的通信模型并不复杂,主要工作集中在发送SMTP和接收SMTP上:首先针对用户发出的邮件请求,由发送SMTP建立一条连接到接收SMTP的双工通讯链路,发送SMTP负责向接收SMTP发送SMTP命令,而接收SMTP则负责接收并反馈应答。可大致用下页的SMTP通讯模型示意图来表示:

 

图 1  SMTP 通讯模型示意图
  

1.2 POP3协议
  
POP3(Post Office Protocol Version 3)是整个电子邮件系统的基本协议之一。POP3适用于C/S结构的脱机模型的电子邮件协议。 初始时,服务器通过侦听TCP端口110开始POP3服务,当客户主机需要使用服务时,它将与服务器主机建立TCP连接。当连接建立后,POP3发送确认消息,客户和POP3服务器相互(分别)交换命令和响应。这一过程一直要持续到连接终止。
  
2 系统设计
  
该邮件系统由两个客户端程序组成,SMTP MAILER实现邮件和附件的发送,POP3 MAIL CHECKER用于登陆邮件服务器接受原始的邮件信息。
  
2.1 邮件发送端设计与实现
  
2.1.1发送端工作流程
  
下图是邮件发送流程图

 

2.1.2具体实现
  
发送邮件的功能主要由eMbedded Visual Basic下的WINSOCK控件实现WINSOCK即Windows Socket,是微软公司对Socket编程接口的集成。WINSOCK使用IP协议,同时支持TCP与UDP协议,在收发邮件这类基本网络数据通信的前提下,WINSOCK控件是最好的选择。
  
以A—H表示邮件发送的各部分设计:
  
A 在这个邮件程序中,首先要连接SMTP的邮件服务因此在cmdSend_Click()事件中最先实施的是Wsock.RemoteHost = ServerIp连接设定的服务器主机Wsock.RemotePort = ServerPort 设定默认的端口。
  
B 然后开始构造邮件格式,定义字符串m_Date为发送日期,字符串mData为邮件头。语句m_Date = FormatDateTime(Date, [vbShortDate]) & ,  & FormatDateTime(Date, [vbLongDate]) &   & FormatDateTime(Time, [vbLongTime]) &  &  -0600  定义了邮件的发送日期。
构造邮件标题 mData = From: & Chr(32) & strSendName & vbCrLf & _
                       Date: & Chr(32) & m_Date & vbCrLf & _
                       X-Mailer: Harold Smtp Mailer V1.0 & vbCrLf & _
                   To: & Chr(32) & strReceiveName & vbCrLf & _
                       Subject: & Chr(32) & strSubject & vbCrLf

【编辑推荐】

  1. 让Perl成为你的嵌入式开发工具
  2. 嵌入式设备上的 Linux 系统开发
  3. 几种Linux下嵌入式开发环境的简单介绍
责任编辑:张燕妮 来源: cnemb.com
相关推荐

2013-04-19 16:09:25

电子邮件云计算

2009-05-21 10:07:43

谷歌电子邮件自动翻译

2011-03-02 15:43:29

Windows CE

2013-04-17 11:11:28

2010-03-30 15:44:16

Windows CE

2009-05-27 19:28:20

Linux磁场设计

2014-05-29 10:32:04

2021-03-05 16:23:21

安全网关电子邮件

2010-01-11 09:46:24

Postfix邮件系统

2014-12-29 16:54:30

电子邮件系统中石化华为

2010-02-23 09:10:58

嵌入式WinCE远程数据采集系统

2011-08-01 11:11:55

2009-04-11 15:12:24

2009-05-28 13:39:13

Windows CE

2010-04-21 13:22:20

Windows CE

2023-01-04 09:37:16

2022-12-14 08:06:08

2023-10-31 11:12:20

Windows微软

2013-01-21 10:26:13

2014-11-19 11:01:37

点赞
收藏

51CTO技术栈公众号