毕业设计(论文)基于qmail和vpopmail的邮件计费系统的设计与实现.doc
《毕业设计(论文)基于qmail和vpopmail的邮件计费系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于qmail和vpopmail的邮件计费系统的设计与实现.doc(41页珍藏版)》请在三一办公上搜索。
1、东 南 大 学毕业设计(论文)报告题目 基于qmail和vpopmail的邮件计费系统的设计与实现计算机科学与工程院(系) 计算机科学与技术 专业学号 _ _学生姓名 _ _指导教师 _ _起讫时间 _ _2010-3-8 至 2010-6-10_设计地点 东南大学计算机网络实验室_ _ 目录摘要3Abstract4第一章绪论51.1 电子邮件简介51.1.1 电子邮件的定义51.1.2 电子邮件的工作原理51.1.3 电子邮件的工作过程51.2 研究背景和研究内容61.2.1 研究背景61.2.2 研究内容6第二章基于qmail和vpopmail的邮件计费的系统设计82.1 技术分析82.1
2、.1 操作系统和用户数据库82.1.2 邮件服务器软件82.1.3 邮件的保存92.1.4 虚拟域的邮件用户92.2 linux和qmail的特点92.3 系统模块设计112.3.1 用户接受邮件服务流程112.3.2 邮件处理过程122.3.3 为Qmail增加smtp用户认证功能122.3.4 使用虚拟邮件域构建邮件服务142.3.5 数据库设计14第三章系统实现163.1 软硬件环境163.2 DNS服务器的配置163.2.1 ubuntu下的网络配置173.2.2 ubuntu下DNS服务器的配置173.3 邮件服务器系统的实现203.3.1 ubuntu下qmail的下载安装及配置2
3、13.3.2 邮件服务器软件qmail中的日志splogger的修改273.4 数据库服务器系统的实现273.4.1 ubuntu下mysql的下载安装及配置273.4.2 基于dns服务器qmail服务器下设置mysql用户32第四章 总结和展望334.1 现有成果的局限性以及研究对象的前景334.2 心得与体会33致谢35参考文献36基于qmail和vpopmail的邮件计费系统的设计与实现摘要本文的目的是建立一个邮件系统,为网络用户提供邮件服务,同时把邮件用户的流量信息记录到数据库中,为网络管理员提供灵活的基于邮件用户的流量计费的数据。并可根据数据库中的信息,对邮件用户进行管理,如添加用
4、户、删除用户等。主要工作和成果如下:1. DNS服务器的总体设计,包括正向反向解析域名,目的是能够实现DNS服务器的正确解析,以便在邮件系统中通过正确的解析地址发送邮件。2. qmail邮件服务器软件的配置,构建一个邮件收发系统,并且通过修改splogger日志监控程序实现对数据库的访问功能。3. 在ubuntu操作系统下,通过配置DNS服务器、qmail邮件服务器和mysql数据库来实现一个整体的邮件计费系统的实现过程。 关键词: ubuntu,域名解析,邮件收发,邮件计费,qmailE-mail based on qmail and vpopmail Design and Implemen
5、tation of Accounting SystemAbstractThis article is intended to establish a mail system, network users for network users to provide email services, e-mail users to record the flow of information to the database for the network administrator to provide a flexible user-based e-mail traffic accounting d
6、ata. And according to information from the database of email users to manage, such as adding users, delete users. Major work and results are as follows:1. Design of DNS servers, including the forward reverse domain name resolution, aimed to achieve the correct DNS server resolve to the mail system v
7、ia the correct address to send the message parsing2. The qmail mail server software configuration, build a mail sending and receiving systems, and by modifying the splogger log monitoring program to achieve access to the database functions.3. The ubuntu operating system, configured DNS server、qmail
8、mail server and mysql database to achieve a comprehensive e-mail billing system implementation process.Keywords: ubuntu, domain name resolution, e-mail sending and receiving,e-mail accouting, qmail, 第一章 绪论 本章节主要内容是对电子邮件的定义、工作原理、工作过程以及研究背景和研究内容进行阐述,为整个工作的研究做铺垫。1.1 电子邮件简介1.1.1 电子邮件的定义电子邮件(electronic m
9、ail),它是种用电子手段提供信息交换的通信方式。是Internet应用最广的服务:通过网络的电子邮件系统,用户可以用非常低廉的价格(不管发送到哪里,都只需负担电话费和网费即可),以非常快速的方式(几秒钟之内可以发送到世界上任何你指定的目的地),与世界上任何一个角落的网络用户联系,这些电子邮件可以是文字、图像、声音等各种方式。同时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。1.1.2 电子邮件的工作原理电子邮件在Internet上发送和接收的原理可以很形象地用我们日常生活中邮寄包裹来形容:当我们要寄一个包裹的时候,我们首先要找到任何一个有这项业务的邮局,在填写完收件人姓名、地
10、址等等之后包裹就寄出而到了收件人所在地的邮局,那么对方取包裹的时候就必须去这个邮局才能取出。同样的,当我们发送电子邮件的时候,这封邮件是由邮件发送服务器(任何一个都可以)发出,并根据收信人的地址判断对方的邮件接收服务器而将这封信发送到该服务器上,收信人要收取邮件也只能访问这个服务器才能够完成。1.1.3 电子邮件的工作过程1.电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。电子邮件的传输是通过电子邮件简单传输协议(Simple Mail Transfer Protocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子邮件通信协议。 2.电子邮件的基本
11、原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。 系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的个电子信箱。并确定个用户名和用户可以自己随意修改的口令。存储空间包含存放所收信件、编辑信件以及信件存档三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。 3.电子邮件的通信是在信箱之间进行的。 用户首先开启自己的信箱,然后通过键入命令的方式将需要发送的邮件发到对方的信箱中。邮件在信箱之间进行传递和交换,也可以与另个邮件系统进行传递和交
12、换。收方在取信时,使用特定帐号从信箱提取。 电子邮件的工作过程遵循客户-服务器模式。每份电子邮件的发送都要涉及到发送方与接收方,发送方式构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送。邮局服务器识别接收者的地址,并向管理该地址的邮件服务器发送消息。邮件服务器识将消息存放在接收者的电子信箱内,并告知接收者有新邮件到来。接收者通过邮件客户程序连接到服务器后,就会看到服务器的通知,进而打开自己的电子信箱来查收邮件。 通常Internet上的个人用户不能直接接收电子邮件,而是通过申请ISP主机的一个电子信箱,由
13、ISP主机负责电子邮件的接收。一旦有用户的电子邮件到来,ISP主机就将邮件移到用户的电子信箱内,并通知用户有新邮件。因此,当发送一条电子邮件给一另一个客户时,电子邮件首先从用户计算机发送到ISP主机,再到Internet,再到收件人的ISP主机,最后到收件人的个人计算机。 ISP主机起着“邮局”的作用,管理着众多用户的电子信箱。每个用户的电子信箱实际上就是用户所申请的帐号名。每个用户的电子邮件信箱都要占用ISP主机一定容量的硬盘空间,由于这一空间是有限的,因此用户要定期查收和阅读电子信箱中的邮件,以便腾出空间来接收新的邮件。1.2 研究背景和研究内容1.2.1 研究背景最近几年来,基于Web的
14、免费Email系统非常流行。当前,几个著名的免费Email网站基本上已经成为大多数人的选择,单纯提供免费Email服务的站点不再像以前那样受到热烈欢迎,但是提供Web界面的Email服务已经成为了一个商业站点为其注册成员提供的基本服务之一。在我们的网络教育结算系统项目中,远程学院提供给学生的服务主要是通过Internet实现的,而邮件服务是Internet中最基本、最重要的功能之一,所以本系统给用户提供电子邮件服务。1.2.2 研究内容本文主要研究的是基于Qmail和vpopmail的邮件计费系统的实现1.功能实现上,要求建立一大容量的邮件系统,为网络用户提供邮件服务,同时把邮件用户的流量信息
15、记录到数据库中,为网络管理员提供灵活的基于邮件用户的流量计费的数据。并可根据数据库中的信息,对邮件用户进行管理,如添加用户、删除用户等。一个Email系统可以分为服务器端和客户端,Web界面的Email系统则是将Email客户放在了Web服务器端,因此Email系统所需要实现的是一个Web界面的Email客户。然而,由于这个Email系统要求用户数量较大,因此对于Email服务器也有特定的要求。完全重写一个Email服务软件,从成熟性、稳定性来看并不可取,所以本题目在现有的开放源代码基础上进行二次开发2.技术思路上,概括总的流程就是在Linux平台上对核心的编程采用标准C编码,在qmail开发
16、源代码的邮件系统的基础上,对qmail的日志处理进程进行修改,从而把日志信息写入mysql数据库。利用Web界面对qmail的管理界面,利用php脚本语言和HTML来实现。利用phpmyadmin软件对mysql数据库进行Web方式管理。总之利用qmail、vpopmail及mysql软件实现实现多个域的邮件系统。第二章 基于qmail和vpopmail的邮件计费的系统设计2.1 技术分析 一个Email系统可以分为服务器端和客户端,Web界面的Email系统则是将Email客户放在了Web服务器端,因此Email系统所需要实现的是一个Web界面的Email客户。然而,由于这个Email系统要
17、求用户数量较大,因此对于Email服务器也有特定的要求。完全重写一个Email服务软件,从成熟性、稳定性来看并不可取,所以我们决定在现有的开放源代码基础上进行二次开发。2.1.1 操作系统和用户数据库 由于提供大容量Email系统对操作系统和数据库的要求非常高,因此,选择合适的操作系统和数据库就是最基本的问题。由于提供web和email服务要求稳定性和性能特别高,因此一般都使用unix作为服务器的操作系统,例如hotmail使用freebsd和solaris,国内163等站点也是采用bsd系列。然而,unix的标准email系统也不合适用于这种大容量服务。有的unix系统,例如当前版本的lin
18、ux,其用户标识只有16位,因此用户数量最多只能有64k,即使unix系统本身支持32位的用户标识,考虑到性能因素,单台服务器支持的用户数量也不要超过10万。为了具有支持更多用户的可扩展性,一般采用多台服务器同时提供服务,虽然此时仍然可以使用标准unix用户作为email用户,但考虑到安全性、性能以及可管理性,一般采用非unix系统用户来作为email用户。而保存用户数据通常采用支持网络访问的数据库形式,一般常用的有ldap、标准数据库、以及email系统自己实现的用户数据库。其中,ldap由于是提供目录服务的标准,因此应该为最佳的选择,其常用的开放源代码实现为openldap;而标准数据库由
19、于实现方便、可扩展性强,其中在internet上最常用的为mysql。2.1.2 邮件服务器软件采用什么样的Email服务器软件也将最终影响系统的性能,自己做一套Email服务器可能会得不偿失,现在有两个选择:sendmail和Qmail。标准的Email软件,例如sendmail,虽然也提供了一些包括aliases等方法,来支持非Unix系统用户,但是这些能力对于实现这种Email系统是不够的。为了支持这些Email用户,必须使用自己的Email服务器软件。但是由于现有的Email软件都相当成熟,而且也都是开放源代码的软件,所以惯常的做法都是修改原有的Email软件,如sendmail、qm
20、ail等,使其支持特定的Email用户。不管从性能上还是安全性上考虑,sendmail并不是理想的选择。2.1.3 邮件的保存 传统Unix使用一个单一目录来保存所有用户的邮件,在用户数量较多时就极大地降低了文件系统的性能。只有使用多级目录,每个目录下的文件数量有限,才能降低打开文件时的系统消耗,或者不再使用简单的文件来保存邮件,而采用某一种封装形式。完全采取数据库形式来保存邮件,由于用户邮件操作多为文件操作,且大小变化较大,因此会造成性能和存储空间上较大的浪费。当使用NFS共享存储空间的时候,由于NFS缺乏文件锁定机制,在使用传统的用户邮件存储格式mailbox时,由于所有的邮件都保存在同一
21、个文件中,因此进行邮件操作就必须加锁,以保证没有访问冲突,这就使得它不适合NFS存储方式。为了解决这个问题,qmail提出了Maildir存储方式,每个邮件作为单独的一个文件保存在用户个人的邮件目录下,就避免了加锁。因此,我们采用Maildir方式来保存用户的邮件。2.1.4 虚拟域的邮件用户考虑到安全性、性能以及可管理性,采用非Linux系统用户来作为email用户。我们采用vpopmail实现虚拟域的用户管理。Qmail对于邮件域有local和virtual的概念。local域是实现匹配/etc/passwd账号;而虚拟域则匹配于罗列在qmail的控制文件virtualdomains的各个
22、域。Vpopmail则利用qmail的users/assign和virtualdomains文件。users/assign文件被编译为users/cdb的形式,它是一个哈希数据库来加快查找速度。若任意一个模式得到匹配,则qmail使用文件中定义的uid和gid传送该邮件到文件中定义的目录。Vpopmail利用该方法来实现使qmail以单一的vpopmail/vchkpw身份来传输所有的虚拟域的邮件,从而实现将邮件传输到vpopmail/domains/目录下的不同用户。2.2 linux和qmail的特点本次毕设我是采用linux的ubuntu为操作系统,Linux自从诞生以来,在网络世界兴起
23、了一场革命,至此这场革命依旧方兴未艾。Linux的特点有以下几个方面:1 自由软件。Linux所有源代码均可自由下载,并允许用户自由修改源代码。2 相对于现有的OS在功能上毫不逊色。Linux是UNIX在PC机上的完整实现。在性能和安全方面尤其出色;而与SUN公司的Solaris相比提供了更简单易用的管理界面和更完备的开发环境。3 和众多的系统兼容。无论是NT的domain,还是Novell的NDS,Linux都能提供良好的互操作性。4 便于开发。源代码公开给二次开发提供了良好的基础,同时Linux也拥有代理的开发工具和平台。 在介绍qmail的特点之前,先介绍下什么是qmail. qmail
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 qmail vpopmail 邮件 计费 系统 设计 实现
链接地址:https://www.31ppt.com/p-3979887.html