视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
电子邮件收发系统研发综述
2025-09-24 21:06:02 责编:小OO
文档
电子邮件收发系统研发综述

贤1,王莹莹2,邓春燕1

(1.河池学院计算机与信息科学系,广西宜州546300;2.济南市科技信息研究所,山东济南250001)

要:电子邮件服务已经成为互联网最重要的功能之一。通过对大量电子邮件系统研发资料的分析,研究各种邮

件收发系统的实现方式,并进行对比分析,探讨邮件系统进一步的研究方向。关键词:邮件系统;开发工具;邮件协议中图分类号:TP311.56

文献标识码:A

文章编号:1672-7800(2010)11-0093-02

0引言

基于网络的程序开发是当前各种应用软件研究的重要内

容,现有的开发工具也都尽可能的满足开发人员在网络应用上的需要。邮件系统作为Internet 网的主要服务之一,探讨它的开发手段与策略,使其具有更高效的性能有着重要的现实意义。本文的主要目的是通过对各方面材料的收集,整理出当前电子邮件系统的各种开发方案,并进行适当的对比,为研发系统提供方向。

1电子邮件收发原理及相关协议

电子邮件与普通邮件有类似的地方,发信者注明收件人的

姓名与地址(即邮件地址),发送方服务器把邮件传到收件方服务器,收件方服务器再把邮件发到收件人的邮箱中,如图1所示

图1

电子邮件收发过程

在电子邮件收发过程中,需要一系列的协议来规范这一过程,使得邮件的收发得以实现,并保障邮件在各类型服务器中的传送畅通。各开发工具和开发人员都基于几类主要的协议来完成该过程,下面对其进行介绍。

SMTP (Simple Mail Transfer Protocol )称为简单邮件传输协

议,目标是向用户提供高效、可靠的邮件传输。其可工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。SMTP 是个请求/响应协议,它监听25号端口,用于接收用户的邮件请求,并与远端邮件服务器建立SMTP 连接。

MIME 的英文全称是"Multipurpose Internet Mail Exten-sions ",即多功能Internet 邮件扩充服务,是对SMTP 的扩展。其

设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。然而当它被HTTP 协议支持之后,其意义就更为显著了。它使得HTTP 传输的不仅是普通的文本,而变得丰富多彩。

POP3的全称是Post Office Protocol ,即邮局协议,用于电子邮件的接收,它使用TCP 的110端口,现在常用的是第三版,所以简称为POP3。POP3采用Client /Server 工作模

式。

IMAP 是Internet Message Access Protocol 的缩写,主要提供的是通过Internet 获取信息的一种协议。IMAP 像POP 一样提供了方便的邮件下载服务,让用户能进行离线阅读,但IMAP 能完成的却远远不只这些。IMAP 提供的摘要浏览功能可以让

用户在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才做出是否下载的决定。

2

邮件系统开发工具

当前人们开发电子邮件收发系统主要是依据上述协议进

行,同时,各种流行的开发工具也多针对邮件系统的开发设计了一系列的函数、组件,使得系统的开发过程变得简单、快捷。不同的开发工具有着各自的特点和适用范围,下面从邮件系统开发方面进行分析。

2.1基于VC ++实现方案

Visual C ++是Windows 平台上的C ++编程环境,其功能强

大,尤其在面向底层开发时,它是一种优秀的编程工具。其并没有提供直接的邮件系统实现相关的函数与工具,但开发人员可以利用其socket 类(套接字技术)模拟实现SMTP 、POP3协议的

软件导刊

Software Guide

第9卷%第11期

2010年11月Vol.9No.11Nov.2010

作者简介:任贤(1983-),女,湖南汨罗人,河池学院计算机与信息科学系助教,研究方向为网络安全、智能计算;王莹莹(1981-),女,山东临沂人,

硕士,济南市科技信息研究所研究实习员,研究方向为软件工程、信息处理;邓春燕(1971-),女,广西宜州人,河池学院计算机与信息科学系副教授,研究方向为网络安全、智能计算。

通信过程,实现邮件的收发功能,主要原理见图2

图2SMTP邮件发送流程

Windows Socket类是对Windows Socket API的封装,其中包括:CSocket和CAsyncSocket类,使用它们能够大大简化网络通信程序的编写。

使用VC++开发的邮件系统具有极高的执行效率,但开发中对开发人员要求较高,如要求开发人员对于socket类非常熟悉,同时,也需要充分掌握SMTP、POP等协议的原理及通信细节,另外VC++主要基于Windows平台,其跨平台性较弱。

2.2基于DELPHI的实现方案

Delphi是基于PASCAL语言基础上加上面向对象的思想发展而来的,技术已较为成熟,最新版本的delphi有2010版本。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。但其存在的缺陷是基础语言不够通用和开发系统软件功能不足。

对于电子邮件系统的开发,delphi提供了Indy控件组,其中包含的一系列组件使得应用其开发邮件系统变得简单、高效。其中与邮件发送相关的组件如下:TIdMessage组件用来对邮件内容进行存放和编码;TIdSMTP用来实现与SMTP服务器的连接与通信;TOpendialog组件也可用于发送程序的设计。反之,与邮件接收相关的组件有TIdPOP3提供邮件接收的协议支持、TIdMessage保存接收的邮件内容及编码、TListview组件用来显示本地硬盘中所接收邮件的目录信息,TListview组件用来显示邮件头信息。

选择DELPHI作为开发工具,考虑到其严格的语法检查、跨平台性较弱的特点,开发前需要进行较多的可行性分析,开发后的测试工作也将偏大。

2.3基于J ava的实现方案

J ava是目前流行的一种高效的软件开发工具,具有强大的网络功能,其在邮件系统的开发上同样非常出色。该开发平台提供了专门的邮件开发工具-JavaMail,将其嵌入到Java Senr-let代码中可开发电子邮件的发送和接收系统。

JavaMail API由接口和抽象类定义,可以实现所有的邮件协议,包括SMTP、POP3、IMAP等。JavaMail API主要包括4个部分:Session,Message,Transport和InternetAddress。Session定义了全局的和每个用户的与邮件相关的属性;Message表示单个邮件消息,其属性包括消息类型、地址信息和所定义的目录结构。Transport是一个抽象类,用于邮件的发送;InternetAd-dress把用户的E-mail地址映射为Internet地址。

J ava语言的跨平台兼容性,使得其成为当前应用最广的一种程序设计语言,尤其是在网络程序开发上,有着其它语言无法比拟的优越性。但J ava语言较为复杂,应用其开发程序周期较长,同时程序的执行方式为解释执行,执行速度较慢。

2.4基于.NET的实现方案

.NET语言更多指的是其下的C#语言,其从C、C++和Java 发展而来,采用了这3种语言最优秀的特点,并加入了它自己的特性。

.NET下自带System.Net.Mail命令空间下有SmtpClient类用于发送邮件,SmtpClient类与SMTP结合在一起,通过MailMessage类、MailAddress类、Attachment类来丰富电子邮件的内容和设置。利用SmtpClient类的Send方法可以完成发送电子邮件的传输,也可以用SendAsync方法进行异步发送,后者发送完成后会产生一个SendCompleted事件来通知发送结果。Send方法可以接受MailMessage类的对象作为参数。通过MailMessage类可以设置邮件更多的内容和格式,例如,为At-tachment类设置添加附件的参数,MailAddress类用于对邮件地址进行管理等。

.NET是基于Windows、面向网络程序设计的一个开发环境,其跨平台性能不如J ava,但在网络应用程序开发上有其特有的优势,且在面向底层的开发上功能强大。另外其下专有的C#语言语法简单,入门容易,可以进行快速、高效的系统开发,这是其最大的优点。同时,有资料表明微软正在增强其跨平台性能,这将使得.NET具有更广阔的市场空间。

3电子邮件组件

目前市场上有许多成熟的电子邮件组件可供开发人员使用,现进行收集如下,以供参考使用。Gmail、CDONTS.NewMail (虚拟SMTP发信),Persits.MailSender(ASPemail发信),SMTPsvg.Mailer(ASPmail发信),DkQmai.Qmail(dkQmail发信),Geocel.Mailer(Geocel发信),IISmail.Iismail.1(IISmail发信),SmtpMail.SmtpMail.1(SmtpMail发信)等。

4结束语

电子邮件服务是当前互联网上最重要的服务之一,每天都有众多的用户通过网络发送数以万计的邮件,电子邮件系统成为internet上最繁忙的工具。开发一个好的邮件收发系统可有效地提高服务效率、保障安全性能。本文对邮件协议、开发工具及常见组件进行分析,为邮件系统的开发提供参考。

参考文献:

[1]洪洲.Visual C++开发环境下用SMTP、POP3实现邮件收发[J].科技信息,2007(34).

[2]徐秀花,程晓锦.基于C#.NET的邮件管理系统的实现[J].北京印刷学院学报,2007(5).

[3]陈玉清.基于Java的Web邮件系统的设计与实现[J].河南师范大学学报,2009(8).

[4]郝树国,朱清新.基于IE-Web Service邮件收发系统的设计与实现[J].成都信息工程学院学报,2006(2).

[5]胡宝剑,刘英,黄忠全.基于Delphi收发电子邮件的程序设计与实现[J].重庆科技学院学报,2006(3).

(责任编辑:杜能钢)

94··下载本文

显示全文
专题