Webmail邮件服务系统的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2007年第4期

福建电脑

Webmail邮件服务系统的设计与实现

陶欢华

(苏州科技学院浙江苏州215011)

【摘要】:Webmail邮件服务系统主要是基于网络收发邮件的系统,用户通过浏览器可以直接收发邮件,不需要对客户端计算机进行邮件服务器和个人邮箱的设置。本论文给出了Webmail系统的设计思想、具体设计、PHP编码以及实现。

【关键词】:WebmailSMTPPOP3IMAP

1.引言

随着上网用户越来越多,上网速度越来越快,作为网络基础应用的电子邮件系统的应用越来越广泛,不管是使用免费的邮箱如hotmail.com,yahoo.com.cn,163.com,263.net,21cn.com,sina.com等、收费的个人邮箱、ISP提供的虚拟主机邮箱等都存在着种种问题。

邮件服务系统是信息沟通的桥梁,是因特网的重要组成部分。自主设计开发邮件服务系统,对于各企事业单位以及各大高校来说具有非常重要的意义。

2.Webmail邮件服务系统的设计

2.1Webmail邮件服务系统原理

邮件服务器采用开放源代码的Linux系统。Linux系统的特点之一是使软件模块化,对邮件系统功能进行的模块划分为分成三个模块:邮件分发代理(MDA);邮件传输代理(MTA);邮件用户代理(MUA)。这三部分之间的界限并不十分明确,有时候一个程序模块可能既包含了MDA的功能同时又能实现MTA的功能,而另外一些时候又有可能是MTA和MDA的功能被组合在了一起。

Webmail就是使用者通过browser连到webserver,而由webserver上的程序负责作收信/发信的动作。使用者直接通过browser作读信/写信等操作,信件其实并不存在于使用者的电脑上。因此无论使用者用的是哪一部电脑,只要可以连上网络,都可以使用读到以前的和新收到的信件.另外一个好处是Webmail不容易因为读取含有病毒的档案而导致中毒,更不会发生个人邮件系统中毒后,寄送大量病毒信件给其他亲朋好友。

在发信方面,Webmail程序以SMTPprotocol和MailServer上的TransportAgent勾通,将信件经由MTA送往Inter-net。而在信件的处理上则是通过POP3或是IMAP4server进行存取。

通过POP3/IMAP4server存取信件主要的优点是提供WebmailService的服务器和MailServer可以是不同的服务器。因此在为已有的MailServer额外加上Webmail服务功能时,就不必担心会影响到原来的MailServer。

2.2Webmail的具体设计

2.2.1系统功能需求模块

图1系统功能需求模块图

Webmail邮件服务系统能够完成以下任务:

1)用户通过浏览器在Web界面上登录,输入个人帐号、密码,即时使用。

2)以Web方式阅读邮件,同时可对邮件一个、多个及整页删除、移动。实现邮件的转发、回复、地址簿的加入,等等。

3)邮件的在线书写和发送,支持签名和附件功能。

4)具有文件夹的创建、重命名和删除等管理功能。

5)邮件检索功能,用户可选择查询条件,在单个或整个文件夹内查寻邮件。

6)系统提供个人和组的地址簿功能。

7)在配置信息里,用户可以管理自己的信箱。2.2.2模块流程图

本系统主要功能为收发邮件,接收邮件流程图、发送邮件流程图如图2、3所示。

3.webmail的实现

3.1Webmail的实现

邮件分为邮件信封(mailenvelope)和邮件内容(mailcontent),其中邮件信封只保留给MailServer,其他人看不到此信息。

邮件内容(mailcontent)包含1.邮件标头(header):有Re-ceived、MessageID、From、Subject、Date、To、Cc…等2.邮件主题(body):如有附件(attachedfile),也在此部分中。邮件需要传输这些内容。

3.2传输(deliver)类包含的主要函数

functionmail(¥message,¥stream=false)//准备传送的邮件

functionwriteBody(¥message,¥stream,&¥length_raw,¥boundary='')//写总的邮件主题

functionwriteBodyPart(¥message,¥stream,&¥length)//写邮件主题各个部分

functionwriteToStream(¥stream,¥data)//写入字节流

functionprepareMIME_Header(¥message,¥boundary)//准备MIME头信息

functionprepareRFC822_Header(¥rfc822_header,¥re-ply_rfc822_header,&¥raw_length)//准备RFC822头信息

3.3关键函数

functionimaplogin(¥username,¥password,¥imap_server_ad-dress,¥imap_port,¥hide)//登录IMAP服务器

functionimap_get_delimiter(¥imap_stream=false)//返回邮箱间的分隔符:INBOX/Test,INBOX.Test

functionimap_run_command_list(¥imap_stream,¥query,¥handle_errors,&¥response,&¥message,¥unique_id=false)//发送命令以及接收命令的返回结果

3.4传输安全

图3发送邮件流程图图2接收邮件流程图

本系统采用加密的Cookies认证技术,提高了认证系统的效率及安全性。通过session记录用户的有关信(下转第183页)

160

相关文档
最新文档