ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:741.67KB ,
资源ID:14681547      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14681547.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Linux系统配置高效的Qmail邮件服务器毕业设计论文.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于Linux系统配置高效的Qmail邮件服务器毕业设计论文.docx

1、基于Linux系统配置高效的Qmail邮件服务器毕业设计论文毕业设计论文题目:基于Linux系统配置高效的Qmail邮 件服务器 摘 要 3 前 言 51. 关于邮件系统相关协议 66.4创建邮件帐号 376.5对tay的用户进行修改 376.6 普通用户通过 sqwebmail进入用户界面 36基于Linux系统配置高效的Qmail邮件服务器摘要在深入探索qmail的配置和调节之前,了解一些qmail的基础架构是重要的。Qmail经常被仅仅归类为一个邮件服务器软件包。这可能只在某一点上是正确的,将qmail考虑为一个邮件分发体系会更加准确,这个体系结构的构建者为这个体系的所有组件深入的提供了

2、一些基础接口。 Qmail是非常模块化的它包含了一系列通过特定且受限的接口来互相沟通的简单程序。每个简单的程序都有一个特定且受限的任务需要完成。这个体系结构允许每个组件都被容易的替代或让新的程序插入到基础组件之中。本文将是用GNU下的一个著名的自由软件Qmail在Linux平台上配置一套功能完整、高效的邮件系统并通过Web页面轻松完成用户管理和邮件系统的配置工作。这里将以qmail作为smtp服务器,vpopmail实现实现虚拟域管理、用mysql数据库来进行用户验证,用qmailadmin通过Web来实现管理虚拟域,用ezmlm来提供强大的邮件列表支持,用igenus来提供一个友善的webm

3、ail界面,Clanav则为此邮件系统提供杀毒模块。关键词:Qmail;mysql;ezmlm;igenus;apache.The mail servers based on the Linux system configuration and efficientAbstract Before delving too deeply into further configuration and tailoring of qmail, it is important to understand the basic structure of qmail. Qmail is often referre

4、d to as merely a mail server software package. While this may be accurate in one sense, it is more accurate to think of qmail as a mail delivery architecture whose architect has thoughtfully provided a basic implementation of all the components of that architecture.Qmail is very modularit consists o

5、f a series of simple programs communicating via specific and limited interfaces. Each simple program has a specific and limited task to perform. This architecture allows each component program to be easily replaced or new programs to be inserted between the basic components.The purpose of this text

6、is use the free software on a UNIX platform install a complete mail system and how manage it.We uses qmai as smtp server,uses vpopmail as pop3 server and realizes Conjecture,uses ezmlm to offer the support to mail row,We also uses igenus to offer a friendly webmail Interface,Clanav mail for this sys

7、tem to provide the antivirus module.Key Words: Qmail; mysql; ezmlm; igenus; apache.前 言实践证明,基于Windows和Exchange的邮件服务器并不是企业级电子邮件系统的最佳选择。由于对稳定性、安全等性能要求非常高,因此大型电子邮件系统一般都使用UNIX作为服务器的操作系统,例如,Hotmail使用FreeBSD和Solaris,国内163等站点也是采用BSD系列。追求稳定的大型企业可采用FreeBSD和Solaris,普通中小企业可采用Linux。Qmail是可以完全替代Sendmail-binmail体系

8、的新一代UNIX邮件系统,它也是一个基于UNIX操作系统的Internet邮件传输机构(Internet Mail Transfer Agent简称MTA)。它采用标准的简单邮件传输协议(Simple Mail Transfer Protocol简称SMTP)与Internet上其他MTA交换信息。为了解决用户邮件存储问题,Qmail提出了Maildir存储方式,每个邮件作为单独的一个文件保存在用户个人的邮件目录下,这就避免了加锁。同时,Qmail支持虚拟域(Virtual Domain)和虚拟用户(Virtual User),使邮件系统的用户独立于UNIX系统用户。当前在国内最流行的免费电子

9、邮件系统如163、371等,都是使用网易公司开发的系统。这些系统就是采用Qmail作为基本服务器软件,采用NFS网络文件系统作为用户邮件存储空间,使用Maildir作为邮件存储格式,提供多级目录以支持较大的用户数。与Internet上的免费电子邮件系统相比,大中型企业电子邮件系统用户主要为企业内部用户,虽然数量没有上十万、百万那么多,用户群也相对固定,但对系统的安全性、稳定性的要求更高,用户管理工作也更细致、繁琐。如果能采用统一的Web形式建立完善的用户数据库并提供邮件服务和用户管理,则会在方便用户的同时,大大地减轻系统管理员繁琐的工作。Qmail是GNU下的一个著名的自由软件,世界各地的高手

10、们为进一步完善和扩充它的功能,开发了大量的基于Qmail的工具和补丁软件,VmailMgr(Virtual Mail ManaGeR)就是其中之一。它增强了Qmail虚拟域(Virtual Domain)的功能,提供了大量的命令,以方便建立和管理独立于UNIX系统用户的邮件系统用户,提供软、硬空间限额等丰富的管理功能;邮件服务器的虚拟用户也可以通过POP3、IMAP标准协议访问自己的邮箱。特别值得一提的是,VmailMgr还提供一组CGI程序和PHP函数,有了这组程序,用户们可以通过Web页面进行邮箱申请、密码更换,邮件管理员也可以通过Web页面轻松完成用户管理和邮件系统的配置工作。1.关于邮

11、件系统的相关协议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,它为用户提供了有选择的从邮件服务

12、器接收邮件的功能,基于服务器的信息处理功能和共享信箱功能。IMAP4在用户登录到邮件服务器以后,允许采取多段处理方式查询邮件。首先,用户可以仅读取电子邮箱中的邮件信头(Message header);然后,用户可以选择下载指定的邮件或者全部邮件。IMAP4在邮件服务器一端为用户保留邮件。1.4 HTTP协议和HTML语言 HTTP协议是超级文本传输协议(HyperText Transfer Protocol)的缩写,支持这个协议的邮件服务器,可以提供通过Web的电子邮件收发服务。1.5 MIME协议 MIME是多用途Internet邮件扩展(Multipurpose Internet Mail

13、 Extensions)协议的缩写。作为对SMTP协议的扩充,MIME规定了通过SMTP协议传输非文本电子邮件附件的标准。目前,MIME的用途早已经超越了收发电子邮件的范围,成为在Internet上传输多媒体信息的基本协议之一。1.6 LDAP协议 LDAP协议是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写。通过将相关的内容存放在统一的目录之下,目录服务为用户提供了基于客户/服务器工作方式的信息查询手段。2. qmail的工作原理和配置文件的设置2.1 qmail和相关的服务 qmail提供了mta功能,但是客户要能看到自己的信件,还需要

14、其他协议和软件。两种常见的远程用户取回他们消息的机制是邮政协议(post office protocal,pop3)和互交邮件访问协议(interactive mail access protocol,imap)。 综述: qmail系统包括几个可执行程序、配置文件、qmail工具和环境变量,这些彼此互相影响,共同提供邮件服务。2.2 email投递邮件进程流程如图3-1图3-1qmail系统中有9个核心程序,这里简单的介绍一下。qmail-smtpd负责接收来自远程主机的邮件消息并将它们传送给qmail-queue处理。qmail-inject程序是用来接收本地产生的邮件消息并传送给qmai

15、l-queue程序。qmai-queue程序处理他们发来的邮件,移进邮件队列以便发送。一旦消息被成功的放在邮件队列中,就调用qmail-send程序来处理他。qmail-send检查邮件队列中每一个消息状态,前一次邮件请求失败的消息被识别,并决定它是临时失败还是永久的,临时失败会再次投递,永久失败将被送递到qmail-clean程序,被删除掉。也就是说,qmail-clean实用来清除永久失败的的邮件消息的。 qmail-send调用了qmail-lspawn 和qmail-rspawn程序。qmail-send判断邮件是发给谁的,发给本地的,就交给qmail-lspawn程序,再由qmail

16、-local投送到本地邮件服务器。要是确定为远程主机,就调用qmail-rspawn程序,qmail-rspawn为每一个邮件消息的接受方决定目的的邮件服务器,再调用qmail-remote程序发送。 qmail的进程:qmail-send、splogger qmail、qmail-lspawn、qmaiil-rspawn、qmail-clean。qmail在任何时候都要求有五个程序在后台运行。这些核心的程序允许qmail扫描新邮件,并将他们发送到适当的目的地。 2.3 qmail环境变量 除了控制文件之外,qmail程序还能使用unix环境变量来控制他们的动作。多数的控制文件的值都能被一个相

17、应设定的环境变量重载。如果该环境变量没有设定,就使用控制文件的值。qmail的环境变量是在qmail程序运行前就被设置好的。这是由一个包装程序完成的。常见的是tcpwrapper和tcpserver。本文就是用的tcpserver。2.4 qmail控制文件 对于管理好qmail,这一步非常重要的。控制文件是qmail配置中的中心环节,它控制了qmail的操作性为。它位于/var/qmail/control目录下。每一个文件包含一个值,这个值定义了相应的qmail可执行程序的变量。qmail控制文件是定义了qmail参数的ASCII文本文件。大多数控制文件要求一个单一的文本值,该值可以在一行中

18、输入。也有一些控制文件能包含多个值。在这种情况下,每一个值被输入到单独的一行中,每一行以一个标准的UNIX换行符(LF)结尾。还有一个要重点注意,就是控制文件的权限问题,推荐root可读写,其他只读。 #chmod 644 /var/qmail/control/* 以下将逐一介绍这个控制文件: Badmailfrom:这个控制文件实现拒收邮件功能的,每一个地址遵循前面说的规则,要单独一行。而且,不用重起qmail就能生效。 Bouncefrom:用来定义用户名的,该用户名是出现在那些被退回给原始发件人的消息中,一般都是永久的投递失败消息。Bouncefrom默认值是MAILER-DAEMON,

19、它通常是一个虚拟用户名,是一个真实用户的别名。你要是想给用户的退信消息中用另一个名字,可以用一下命令: #echo postmaster /var/qmail/control/bouncefrom 给改为postmaster. Bouncehost:制定了退信消息中的主机名,默认的值是me文件的主机名。 Concurrencylocal:定义了qmail能够同时运行的本地投送进程数。对于大型的邮件主机,非常重要。默认参数是10。就是允许多达10个本地邮件投递进程同时运行。这个控制文件的最大值是由qmail源代码中的conf-spawn变异参数设置的,这个编译参数默认值是120,最大值是255。

20、 Concurrencyremote:定义了qmail可以同时运行的远程投递进程数,默认值是20。它也是由conf-spawn设置的,默认值是120,最大可设255。但是要根据你的实际情况,因为运行进程要需要内存和硬盘的,设太大了小心服务器负载! Defaultdomain:默认域名,如果给本地的邮件用户发信,没有加上域名,qmail-inject会给他添加defaultdomain文件中的域名。如果设置了QMAILDEFAULTDOMAIN环境变量,就会重载defaultdomain控制文件的值。 Defaulthost:默认主机名,同一邮件服务器上,给本地用户发邮件,如果收信的用户地址没加

21、域名,就会添加主机名。Databytes:定义由qmail-smtpd接受到的邮件消息所允许的最大字节数,也就是发送和接受邮件的大小(本机上给本机用户出发和接受除外)。就是说,远程邮件主机和你用outlook、foxmail等远程的mua工具发信,都受它的限制。默认值是0,表示不限制。# echo 10000000 /var/qmail/control/databyte (设置为10m,超过10m,将得到code 552,告知:其邮件大小超出了该邮件主机所能容忍的限度 )Doublebouncehost:用来为那些经历了两次反弹后的消息指定主机名。默认是me文件的值 Doublebouncet

22、o:用来为那些经历了两次反弹后的消息指定用户名,默认是postmaster。 Envnoathost:是qmail-send用来为没有指定主机名的邮件接受方指定他的主机名的,默认是没有这个控制文件的,qmail-send使用me文件定义的 Helohost:指定在qmail-remote与远程邮件服务器的smtp会话中用到的主机名。如果helohost控制文件没有给出,qmail-remote使用me文件的值。 Idhost:指定了用来在消息中产生message-ID:头字段得主机名,默认qmail-inject用me文件的值。 Localiphost:用来为邮件消息指定本地地址的,内容是邮件

23、主机的ip地址。但是它用在dns上就会有问题。建议不要设置。 Locals:指定邮件本地地址,不存在,qmail-send就假定me文件的值为邮件主机的唯一可用本地邮件主机。 Me:用来指定本地邮件服务器的主机名,最重要的控制文件,如果没有,qmail将不会运行。 me控制文件通常是靠运行qmail配置子目录下的config脚本文件来建立的,config脚本自动判断邮件服务器的dns域名,并产生一个适当的控制文件(me ,locals,rcpthhosts)。如果某种原因你的邮件服务器无法连通dns服务器,可以手工运行configfast来指定邮件服务器主机名: # /var/qmail/co

24、nfigure/config -fast Plusdomain:用来将一个域名指定成任何一个以一个加号(+)结尾的地址。缺省的情况下,出现在me文件的域名被添加到任何一个以加号结尾的邮件地址中。 Queuelifetime:用来指定一个消息在他被删除前,可以在邮件列表中保存的时间秒数。默认是604800,当投递失败的消息超过规定的时间,将被从邮件队列中删除。 Rcphosts:定义了qmail可以接收消息的主机和域名。 不过因为rcpthosts中的域名最好不要超过50行,多出的添加到morercpthosts中。 Morercpthosts:用来指定qmail将要为其接受消息的额外的主机和域

25、名。 Smtpgreeting:用来指定SMTP连接的欢迎标志 ,默认是用me文件的主机名。 那么建立一个smtp连接的时候将会看到如下信息: Trying 198.160.x.x. Connected to Escape characteris . 220 welcome connect to out open relay mail server ESMTP Smtproutes:用来指定能够被用来将邮件投送给特定目的地的静态smtp连接的。 Timeoutconnect:用来指定qmail-remote将要等待的一个时间秒数。也就是说等待远程smtp服务器接受本地的一个smtp请求响应的时

26、间,默认是60秒。对于质量不好的网络,可以适当调节。 Timeoutremote:用来指定qmail-smtpd等待远程SMTP主机发送数据的时间线。默认的情况下,如果连接建立后1200秒内没有接受到远程SMTP主机的任何信息,那么将关闭这个连接。 Timeoutsmtpd:用来指定qmail-smtpd等待远程smtp客户端连接的时间秒数。默认是1200,超过这个时间,连接取消。 Virtualdomains:让qmail接受本地邮件以外,还接受该文件中指定的域或者邮件地址,就是常说的虚拟域支持。 以上说的一些控制文件,qmail默认不是都有的,只有一些必须要得。根据你的mail不同的使用情

27、况,自己选择来建立和设置。 2.5改变MUA程序接口 qmail程序包含了一个可执行程序,该程序替代了unix标准的sendmail程序。想用qmail作为mail服务器,必须用qmail的sendmail包装程序替代现有的sendmail程序。 #mv /usr/sbin/sendmail /usr/sbin/sendmail.bak #chmod 0 /usr/sbin/sendmail.bak #ln s /var/qmail/bin/sendmail /usr/sbin/sendmail 2.6建立qmailsmtp功能 传统上使用inetd程序来监听网络,但是缺点很多。本文中用ucs

28、pi-tcp包的tcpserver服务来代替它。参考了iceblood的qmail-setup.1.5.3的脚本文件,是这样完成的: 1、建立/etc/qmail目录,建立了smtp.sh and pop3.sh启动脚本 2、建立了tcp.smtp 和tcp.smtp.cdb文件。 具体是这样做的: #echo “/etc/qmail/start” /etc/rc.d/rc.locad - 开机执行/etc/qmail/start #touch /etc/qmail/start - 建立执行文件 #touch /etc/qmail/smtp - 建立smtp脚本文件 #touch /etc/q

29、mail/pop - 建立pop脚本文件 #touch /etc/qmail/tcp.smtp -建立tcpserver的连接规则文件 #echo csh -cf /var/qmail/rc &/etc/qmail/start - 开机启动qmail #echo /etc/qmail/smtp.sh/etc/qmail/start - 开机执行smtp.sh smtp脚本内容: /usr/local/bin/tcpserver -H -R l -t 1 -c 100 -v -p -x/etc/qmail/tcp.smtp.cdb -u 502 -g 501 0 smtp /var/qmail/

30、bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true | /var/qmail/bin/splogger & (注:502 and 501换成系统上的qmaild与nofiles的uid and gid的值。) pop脚本内容: /usr/local/bin/tcpserver -c 100 -v -l -U -H -R 0 pop3 /var/qmail/bin/qmail-popup /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2&1 | /var/qmail/b

31、in/splogger & tcp.smtp脚本内容:127.0.0.1:allow,RELAYCLIENT= :allow # /var/qmail/bin/tcprules /etc/qmail/tcp.smtp.cdb /etc/qmail/tcp.smtp.tmp /etc/qmail/tcp.smtp 以上配置,可以做到开机自动启动了。3.Qmail的安装和配置3.1 Qmail的前期准备3.1.1系统安装操作系统:CentOS 6.3分区状况/5GSwap 1024MB/home 1024MB(因为邮件都储存在/home/vpopmail下,可以根据情况分区)3.1.2设置DNSMX记录和地址反解3.1.3卸载已有的邮件系统 确认没有邮件服务在运行:#/etc/init.d/psotfix stop#netstat -na|grep 25#netstat -na|grep 110#netstat -na|grep 143#service sendmail stop删除已有的邮件软件:#rpm e -nodeps postfix3.1.4软件包介绍Qmail是本文的主角,世界上使用最广的邮件系统之一。此处使用的是netqmail-1.05的补丁集和shupp.org的Toaster 7.0运行脚

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2