华中科技大学文华学院毕业设计(论文)
题目基于Linux系统配置高效的Q mail邮件服务器
1
华中科技大学文华学院毕业设计(论文)
目录
摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
前言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.关于邮件系统相关协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1. 1 SMTP协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.2 POP3协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.3 IMAP4协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.4 HTTP协议和HTML语言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.5 MIME协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.6 LDAP协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
2. qmai l的工作原理和配置文件的设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2. 1 qmail和相关的服务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.2 email投递邮件进程流程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
2.3 qmail环境变量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
2.4 qmail控制文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
2.5改变MUA程序接口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
2.6建立qmailsmtp功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
3. Qmai l的安装和配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3. 1 Qmail的前期准备. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3. 1. 1系统安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3. 1.2设置DNS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3. 1.3卸载已有的邮件系统. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3. 1.4软件包介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
3. 1.5实现的功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
3.2软件包的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
3.2. 1设置Mysql. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
3.2.2 apache的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
3.2.3 php的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
3.2.4 daemontools的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
3.2.5 ucspi-tcp的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
3.2.6 qmail的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
3.2.7 vpopmail的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
1
华中科技大学文华学院毕业设计(论文)
3.2.8 iGenus安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
3.2.9 iGenus_Admin的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.2. 10 SqwebMail的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.2. 11 Autorespond&Ezmlm的安装. . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.2. 12 qmailadmin的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.2. 13 Clamav的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
3.2. 14测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
4. ucspi-tcp的原理和设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
5. vpopmail和qmailadmin对用户的管理. . . . . . . . . . . . . . . . . . . . . . . . . .29
5. 1 vpopmail功能简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
5.2 vpopmail的安装设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
5. 3 vpopmail使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
5.4 qmailadmin的介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
5.5 qmailadmin的使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
5.5. 1登陆. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
5.5.2邮件账号管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
5.5.3别名设立界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
5.5.4转发管理界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
5.5.5自动回复管理界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
6.具体的功能与实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
6. 1添加域. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
6.2管理者界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
6.3管理者对邮件账号管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
6.4创建邮件帐号. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
6.5对tay@taiyaojia.cn的用户进行修改. . . . . . . . . . . . . . . . . . . . .37
6.6普通用户通过sqwebmail进入用户界面. . . . . . . . . . . . . . . . . . . .36
6.7总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
结束语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
2
华中科技大学文华学院毕业设计(论文)
基于Linux系统配置高效的Qmai l邮件服务器
摘要
在深入探索qmai l的配置和调节之前了解一些qmai l的基础架构是重要的。Qmai l经常被仅仅归类为一个邮件服务器软件包。这可能只在某一点上是正确的将qmai l考虑为一个邮件分发体系会更加准确这个体系结构的构建者为这个体系的所有组件深入的提供了一些基础接口。 Qmai l是非常模块化的——它包含了一系列通过特定且受限的接口来互相沟通的简单程序。每个简单的程序都有一个特定且受限的任务需要完成。这个体系结构允许每个组件都被容易的替代或让新的程序插入到基础组件之中。
本文将是用GNU下的一个著名的自由软件Qmai l在Linux平台上配置一套功能完整、高效的邮件系统并通过Web页面轻松完成用户管理和邮件系统的配置工作。这里将以qmail作为smtp服务器 vpopmail实现实现虚拟域管理、用mysql数据库来进行用户验证用qmailadmin通过Web来实现管理虚拟域用ezmlm来提供强大的邮件列表支持用igenus来提供一个友善的webmail界面 Clanav则为此邮件系统提供杀毒模块。
关键词 Qmail mysql ezmlm igenus apache.
3
华中科技大学文华学院毕业设计(论文)
The mail server's based on the Linux systemconfiguration and efficient
Abstract
Before delving too deeply into further configuration and tailoring ofqmail, it is important to understand the basic structure of qmail.Qmail is oftenreferred to as merely a mail s erver software package.While this may beaccurate in one sense, it is more accurate to think of qmail as a mail deliveryarchitecture whose architect has thoughtfully provided a basic implementationof all the components of that architecture.Qmail is very modular—it consists ofa series of simple programs communicating via specific and limited interfaces.Each simple program has a specific and limited task to perform.Thisarchitecture allows each component program to be easily replaced or newprograms to be inserted between the basic components.
The purpose of this text is use the free software on a UNIX platforminstall a complete mail system and how manage it.We uses qmai as smtpserver,uses vpopmail as pop3 server and realizes Conjecture,uses ezmlm tooffer the support to mail row,We also uses igenus to offer a friendly webmailInterface,Clanav mail for this system to provide the antivirus module.
Key Wo rds: Qmail; mysql; ezmlm; igenus; apache.
4
华中科技大学文华学院毕业设计(论文)
前言
实践证明基于Windows和Exchange的邮件服务器并不是企业级电子邮件系统的最佳选择。 由于对稳定性、安全等性能要求非常高 因此大型电子邮件系统一般都使用UNIX作为服务器的操作系统例如 Hotmail使用FreeBSD和Solaris 国内163等站点也是采用BSD系列。追求稳定的大型企业可采用FreeBSD和Solaris普通中小企业可采用Linux。
Qmail是可以完全替代Sendmail-binmail体系的新一代UNIX邮件系统它也是一个基于UNIX操作系统的Internet邮件传输机构Internet Mail Transfer Agent简称MTA) 。它采用标准的简单邮件传输协议Simple Mail Transfer Protocol简称SMTP)与Internet上其他MTA交换信息。为了解决用户邮件存储问题Qmail提出了Maildir存储方式每个邮件作为单独的一个文件保存在用户个人的邮件目录下这就避免了加锁。 同时 Qmail支持虚拟域Virtual Domain和虚拟用户Virtual User使邮件系统的用户独立于UNI X系统用户。当前在国内最流行的免费电子邮件系统如163、371等都是使用网易公司开发的系统。这些系统就是采用Qmai l作为基本服务器软件采用NFS网络文件系统作为用户邮件存储空间使用Mai ldir作为邮件存储格式提供多级目录以支持较大的用户数。与Internet上的免费电子邮件系统相比大中型企业电子邮件系统用户主要为企业内部用户虽然数量没有上十万、百万那么多用户群也相对固定但对系统的安全性、稳定性的要求更高用户管理工作也更细致、繁琐。如果能采用统一的Web形式建立完善的用户数据库并提供邮件服务和用户管理则会在方便用户的同时大大地减轻系统管理员繁琐的工作。
Qma i l是GNU下的一个著名的自由软件世界各地的高手们为进一步完善和扩充它的功能 开发了大量的基于Qmail 的工具和补丁软件 VmailMgr(Virtual MailManaGeR)就是其中之一。它增强了Qmail虚拟域Virtual Domain的功能提供了大量的命令以方便建立和管理独立于UNI X系统用户的邮件系统用户提供软、硬空间限额等丰富的管理功能邮件服务器的虚拟用户也可以通过POP3、 IMAP标准协议访问自己的邮箱。特别值得一提的是 Vmai lMgr还提供一组CGI程序和PHP函数有了这组程序用户们可以通过Web页面进行邮箱申请、密码更换 邮件管理员也可以通过Web页面轻松完成用户管理和邮件系统的配置工作。
5
华中科技大学文华学院毕业设计(论文)
1 .关于邮件系统的相关协议
1 . 1 SMTP协议
SMTP协议是简单的邮件传输协议(Simple Mail Transfer Protocol)的缩写。这是最早出现的,也是被普遍使用的最基本Internet邮件服务协议。
1 .2 POP3协议
POP协议是邮局协议(Post Office Protocol)的缩写,是一种允许用户从邮件服务器收发邮件的协议。与SMTP协议相结合,POP3是目前最常用的电子邮件服务协议。
1 .3 IMAP4协议
IMAP协议是Internet消息访问协议(Internet Message Access Protocol)的缩写,现在常用的是版本4,它为用户提供了有选择的从邮件服务器接收邮件的功能,基于服务器的信息处理功能和共享信箱功能。 IMAP4在用户登录到邮件服务器以后,允许采取多段处理方式查询邮件。首先,用户可以仅读取电子邮箱中的邮件信头(Messageheader) ;然后,用户可以选择下载指定的邮件或者全部邮件。 IMAP4在邮件服务器一端为用户保留邮件。
1 .4 HTTP协议和HTML语言
HTTP协议是超级文本传输协议(HyperText Transfer Protocol)的缩写,支持这个协议的邮件服务器,可以提供通过Web的电子邮件收发服务。
1 .5 MIME协议
MIME是多用途Internet邮件扩展(Multipurpose Internet Mail Extensions)协议的缩写。作为对SMTP协议的扩充,MIME规定了通过SMTP协议传输非文本电子邮件附件的标准。 目前,MIME的用途早已经超越了收发电子邮件的范围,成为在Internet上传输多媒体信息的基本协议之一。
1 .6 LDAP协议
LDAP协议是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写。通过将相关的内容存放在统一的目录之下,目录服务为用户提供了基于客户/服务器工作方式的信息查询手段。
6
华中科技大学文华学院毕业设计(论文)
2. qmai l的工作原理和配置文件的设置
2. 1 qmai l和相关的服务qmai l提供了mta功能但是客户要能看到自己的信件还需要其他协议和软件。两种常见的远程用户取回他们消息的机制是邮政协议(post office protocal,pop3)和互交邮件访问协议(interactive mail access protocol, imap) 。
综述 qmai l系统包括几个可执行程序、配置文件、 qmai l工具和环境变量这些彼此互相影响共同提供邮件服务。
2.2 ema i l投递邮件进程流程
如图3-1
图3-1qmai l系统中有9个核心程序这里简单的介绍一下。 qmai l-smtpd负责接收来自远程主机的邮件消息并将它们传送给qmail-queue处理。 qmail-inject程序是用来接收本地产生的邮件消息并传送给qmai l-queue程序。 qmai-queue程序处理他们发来的邮件移进邮件队列以便发送。一旦消息被成功的放在邮件队列中就调用qmail-send程序来处理他。 qmail-send检查邮件队列中每一个消息状态前一次邮件请求失败的消息被识别并决定它是临时失败还是永久的临时失败会再次投递永久失败将被送递到qmail-clean程序被删除掉。也就是说 qmail-clean实用来清除永久失败的的邮件消息的。qmai l-send调用了qmai l-lspawn和qmai l-rspawn程序。 qmai l-send判断邮件是发给谁的发给本地的就交给qmai l-l spawn程序再由qmai l-local投送到本地邮件服务器。要是确定为远程主机就调用qmai l-rspawn程序 qmai l-rspawn为每
7
华中科技大学文华学院毕业设计(论文)
一个邮件消息的接受方决定目的的邮件服务器再调用qmai l-remote程序发送。qmail的进程:qmail-send、 splogger qmail、 qmail-lspawn、 qmaiil-rspawn、qmai l-clean。 qmai l在任何时候都要求有五个程序在后台运行。这些核心的程序允许qmai l扫描新邮件并将他们发送到适当的目的地。
2.3 qma i l环境变量
除了控制文件之外 qmai l程序还能使用unix环境变量来控制他们的动作。多数的控制文件的值都能被一个相应设定的环境变量重载。如果该环境变量没有设定就使用控制文件的值。 qmai l的环境变量是在qmai l程序运行前就被设置好的。这是由一个包装程序完成的。常见的是tcpwrapper和tcpserver。本文就是用的tcpserver。
2.4 qma i l控制文件
对于管理好qmai l这一步非常重要的。控制文件是qmai l配置中的中心环节它控制了qmail的操作性为。它位于/var/qmail/control目录下。每一个文件包含一个值这个值定义了相应的qmai l可执行程序的变量。 qmai l控制文件是定义了qmai l参数的ASCII文本文件。大多数控制文件要求一个单一的文本值该值可以在一行中输入。也有一些控制文件能包含多个值。在这种情况下每一个值被输入到单独的一行中每一行以一个标准的UNIX换行符LF结尾。还有一个要重点注意就是控制文件的权限问题推荐root可读写其他只读。
#chmod 644 /var/qmail/control/*
以下将逐一介绍这个控制文件
Badmailfrom这个控制文件实现拒收邮件功能的每一个地址遵循前面说的规则要单独一行。而且不用重起qmai l就能生效。
Bouncefrom用来定义用户名的该用户名是出现在那些被退回给原始发件人的消息中一般都是永久的投递失败消息。 Bouncefrom默认值是MAILER-DAEMON,它通常是一个虚拟用户名是一个真实用户的别名。你要是想给用户的退信消息中用另一个名字可以用一下命令
#echo postmaster > /var/qmail/control/bouncefrom 给改为postmaster.
Bouncehost制定了退信消息中的主机名默认的值是me文件的主机名。
Concurrencylocal定义了qmail能够同时运行的本地投送进程数。对于大型的邮件主机非常重要。默认参数是10。就是允许多达10个本地邮件投递进程同时运行。这个控制文件的最大值是由qmai l源代码中的conf-spawn变异参数设置的这个编译参数默认值是120最大值是255。
Concurrencyremote定义了qmail可以同时运行的远程投递进程数默认值是20。它也是由conf-spawn设置的默认值是120最大可设255。但是要根据你的实际情况 因为运行进程要需要内存和硬盘的设太大了小心服务器负载
8
cyun怎么样?cyun蓝米数据是一家(香港)藍米數據有限公司旗下品牌,蓝米云、蓝米主机等同属于该公司品牌。CYUN全系列云产品采用KVM架构,SSD磁盘阵列,优化线路,低延迟,高稳定。目前,cyun推出的香港云服务器性价比超高,香港cn2 gia云服务器,1核1G1M/系统盘+20G数据盘,低至29元/月起;香港多ip站群云服务器,16个ip/4核4G仅220元/月起,希望买香港站群服务器的站长...
昨天晚上有收到VULTR服务商的邮件,如果我们有清楚的朋友应该知道VULTR对于新注册用户已经这两年的促销活动是有赠送100美元最高余额,不过这个余额有效期是30天,如果我们到期未使用完的话也会失效的。但是对于我们一般用户来说,这个活动还是不错的,只需要注册新账户充值10美金激活账户就可以。而且我们自己充值的余额还是可以继续使用且无有效期的。如果我们有需要申请的话可以参考"2021年最新可用Vul...
稳爱云(www.wenaiyun.com)是创建于2021年的国人IDC商家,主要目前要出售香港VPS、香港独立服务器、美国高防VPS、美国CERA VPS 等目前在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。机房采用业内口碑最好香港沙田机房,稳定,好用,数据安全。线路采用三网(电信,联通,移动)回程电信cn2、cn2 gia优质网络,延迟低,速度快。自行封装的...