收藏 分销(赏)

建立基于Linux的邮件服务器.doc

上传人:xrp****65 文档编号:8752141 上传时间:2025-02-28 格式:DOC 页数:15 大小:362.50KB
下载 相关 举报
建立基于Linux的邮件服务器.doc_第1页
第1页 / 共15页
建立基于Linux的邮件服务器.doc_第2页
第2页 / 共15页
点击查看更多>>
资源描述
3.1 建立基于Linux的邮件服务器 ² 工作情境 电子邮件服务是Internet上最基本的服务之一,每一个企业都希望能够建立自己的邮件服务器。运用Linux系统,建立一台postfix+cyrus-imapd+squirrelmail电子邮件服务器,实现企业内部网络的邮件服务,同时也能够在Internet收发邮件(接收邮件,企业必须在Internet上注册域名)。 ² 学习目标 通过本章节的学习,能够了解电子邮件服务器的工作原理,并能够在Linux系统上建立一台postfix+cyrus-imapd+squirrelmail电子邮件服务器,实现Web方式的电子邮件收发服务。 ² 考核评价 能够在Linux系统上建立一台postfix+cyrus-imapd+squirrelmail电子邮件服务器,并在邮件服务器上开设两个用户,分别在两台工作站上相互发送邮件,接收邮件。 电子邮件服务是Internet上最基本的服务之一,用户可以通过它与远程用户进行经济、方便、快捷且无需在线的信息交流。在Internet上,超过30%的业务量是电子邮件,仅次于WWW服务。 3.11.1 电子邮件服务的概述 1. 电子邮件服务 电子邮件服务是Internet最基本的服务,电子邮件可以用来在Internet或Intranet上进行信息的传递和交流,具有快速、经济的特点。 发一份电子邮件给远在他方的用户,通常来说,对方几分钟之内就能收到。如果选用传统邮件,发一封特快专递也需要至少一天的时间,而且电子邮件的费用最多只需几毛钱。 与实时信息交流,如电话相比,因为电子邮件采用存储转发的方式,发送邮件时,并不需要收件人处于在线状态,收件人可以根据实际需要随时上网从邮件服务器上收取邮件,方便了信息的交流。 2. 电子邮件系统 与其他Internet服务相同,电子邮件服务是基于客户/服务器模式的。对于一个完整的电子邮件系统而言,它主要由以下三部分构件组成。 (1) 用户代理 用户代理(UserAgent,缩写为UA)就是用户与电子邮件系统的接口,在大多数情况下它就是在邮件客户端上运行的程序,主要负责将邮件发送到邮件服务器和从邮件服务器上接收邮件。 目前主流的用户代理主要有Microsoft公司的Outlook和国产的Foxmail等。 (2) 邮件服务器 邮件服务器是电子邮件系统的核心构件,它的主要功能是发送和接收邮件,同时向发件人报告邮件的传送情况。根据用途的不同,可以将邮件服务器分为发送邮件服务器(SMTP服务器)和接收邮件服务器(POP3服务器或IMAP4服务器)。 (3) 电子邮件使用的协议 要实现电子邮件服务还必须借助于专用的协议才行。目前,应用于电子邮件服务的协议主要有SMTP、POP3和IMAP4协议。 n SMTP协议 SMTP即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收件人的服务器上了。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。 n POP3协议 POP3即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的协议。它是Internet电子邮件的第一个离线协议标准,POP3允许从服务器上把邮件存储到本地主机即自己的计算机上,同时删除保存在邮件服务器上的邮件。遵循POP3协议来接收电子邮件的服务器是POP3服务器。 n IMAP4协议 IMAP4即Internet信息访问协议的第4个版本,是用于从本地服务器上访问电子邮件的协议,它是一个客户/服务器模型协议,用户的电子邮件由服务器负责接收保存,用户可以通过浏览信件头来决定是否要下载此信。用户也可以在服务器上创建或更改文件夹或邮箱,删除信件或检索信件的特定部分。 3. 电子邮件服务的工作原理 电子邮件的工作过程遵循客户/服务器模式。每份电子邮件的发送都要涉及到发送方与接收方,发送方式构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮件服务器(称为SMTP服务器)发送,通常采用SMTP协议。邮件服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。邮件服务器将消息存放在接收者的电子信箱内,并告知接收者有新邮件到来。接收者通过邮件客户程序连接到服务器后,就会看到服务器的通知,进而打开自己的电子信箱来查收邮件。 通常Internet上的个人用户不能直接接收电子邮件,而是通过申请ISP邮件服务器的一个电子信箱,由ISP邮件服务器负责电子邮件的接收。一旦有用户的电子邮件到来,ISP邮件服务器就将邮件移到用户的电子信箱内,并通知用户有新邮件。因此,当发送一条电子邮件给一另一个客户时,电子邮件首先从用户计算机发送到ISP邮件服务器,再到Internet,再到收件人的ISP邮件服务器,最后到收件人的个人计算机。 ISP邮件服务器起着“邮局”的作用,管理着众多用户的电子信箱。每个用户的电子信箱实际上就是用户所申请的账号名。每个用户的电子邮件信箱都要占用ISP邮件服务器一定容量的硬盘空间,由于这一空间是有限的,因此用户要定期查收和阅读电子信箱中的邮件,以便腾出空间来接收新的邮件。 电子邮件在发送与接收过程中都要遵循SMTP、POP3、IMAP4等协议,这些协议确保了电子邮件在各种不同系统之间的传输。其中,SMTP负责电子邮件的发送,而POP3或IMAP4则用于接收Internet上的电子邮件。 在Internet上将一个邮件从一台计算机传送到另一台计算机上,是通过两种协议来完成,即SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)和POP3(Post Office Protocol,邮局协议3)或IMAP4(第4个版本的Internet信息访问协议)。SMTP是Internet协议集中的邮件标准。在Internet上能够接收电子邮件的服务器都有SMTP。电子邮件在发送前,发件方的SMTP服务器与接收方的SMTP服务器联系,确认接收方准备好了,则开始邮件传递;若没有准备好,发送服务器便会等待,并在一段时间后继续与接收方邮件服务器联系。这种方式在Internet上称为“存储——转发”方式。POP3和IMAP4可允许E-mail客户向某一SMTP服务器发送电子邮件,另外,也可以接收来自SMTP服务器的电子邮件。换句话说,电子邮件在客户PC机与服务提供商ISP之间的传递是通过P0P3或IMAP4来完成的,而电子邮件在Internet上的传递则是通过SMTP来实现。  3.11.2 邮件服务器介绍 在Linux平台中,有许多邮件服务器可供选择,但目前使用较多的是Sendmail服务器、postfix服务器和Qmail服务器。 1. Sendmail服务器 从使用的广泛程度和代码的复杂程度来看,Sendmail是一个很优秀的邮件服务软件。几乎所有Linux的缺省配置中都内置了这个软件,只需要设置好操作系统,它就能立即运转起来。但它的安全性较差,Sendmail在大多数系统中都是以root身份运行,一旦邮件服务发生安全问题,就会对整个系统造成严重影响。同时在Sendmail开放之初,Internet用户数量及邮件数量都较少,使Sendmail的系统结构并不适合较大的负载,对于高负载的邮件系统,需要对Sendmail进行复杂的调整。 2. Postfix服务器 postfix是一个由IBM资助、由Wietse Venema负责开发的自由软件工程产物,它的目的就是为用户提供除Sendmail之外的邮件服务器选择。postfix在快速、易于管理和提供尽可能的安全性方面都进行了较好的考虑。postfix是基于半驻留、互操作的进程的体系结构,每个进程完成特定的任务,没有任何特定的进程衍生关系,使整个系统进程得到很好的保护。同时postfix也可以和Sendmail邮件服务器保持兼容性以满足用户的使用习惯。 3. Qmail服务器 Qmail是由Dan Bemstein开发的可以自由下载的邮件服务器软件,其第一个beta版本0.70.7发布于1996年1月24日。Qmail是按照将系统划分为不同的模块的原则进行设计的,在系统中有负责接收外部邮件的模块,有管理缓冲目录中待发送的邮件队列的模块,也有将邮件发送到远程服务器或本地用户的模块。同时只有必要的程序才是setuid程序(即以root用户权限执行),这样就减少了安全隐患,并且由于这些程序都比较简单,因此就可以达到较高的安全性。 3.11.3 邮件服务器的安装与配置 Red Hat Enterprise Linux提供了Sendmail和postfix两种STMP邮件服务软件,让用户可以随意地选择其中一种。与Sendmail相比,postfix的安全性和配置文件的可读性优于Sendmail,同时,postfix也和Sendmail邮件服务器保持兼容性,满足用户的使用习惯。 本章节,采用postfix实现STMP邮件服务,提供邮件的转发和本地的分发功能;采用cyrus-imapd软件实现POP或IMAP服务,实现邮件的异地接收功能;通过第三方的Webmail软件(如squirrelmail)实现Web方式收发邮件,提供Web邮件服务。 因此,通过一个实例,建立一台postfix+cyrus-imapd+squirrelmail电子邮件服务器,实现企业内部网络的邮件服务,同时也能够向Internet发送邮件。为什么不能从Internet接收邮件邮件呢?是性能不足吗?这个简单的问题,留给读者思考。 [实例3.11.1]使用实例3.8.2构建的DNS服务器和所使用的域名:。构建一台postfix+cyrus-imapd+squirrelmail电子邮件服务器,其IP地址:192.168.1.252,域名:。同时申请两个用户邮件地址,实现邮件的相互收发,并在网络能够连接互联网时,向读者的常用邮箱发送一个邮件。 1. Postfix邮件服务的安装 (1) 先检查并停止sendmail的服务 Red Hat Enterprise Linux默认情况下安装程序已经将Sendmail安装到系统中了,如果要使用postfix,就必须先将Sendmail服务停止,然后再安装postfix服务软件。 用下面的命令检查Sendmail服务是否已启动。 netstat -nutlp | grep :25 该命令的执行结果如图3.11.1所示,表明Sendmail服务正在监听TCP的25号端口。 图3.11.1 Sendmail服务正在监听TCP的25号端口 (2) 关闭Sendmail服务及开机时自启动功能 设置关闭Sendmail服务及开机时自启动功能,采用命令如下: /etc/rc.d/init.d/sendmail stop chkconfig sendmail off 执行了关闭命令后,情况如图3.11.2所示。关闭自启动功能后,还可以用以下命令来查看其效果。 chkconfig sendmail --list 图3.11.2 关闭Sendmail服务及开机自启动 2. 安装postfix服务 通过Linux安装光盘的Server目录中的RPM安装包:postfix-2.3.3-2.1.el5_2.i386.rpm安装postfix服务。安装命令:rpm -ivh /mnt/cdrom/Server/postfix-2.3.3-2.1.el5_2.i386.rpm 。 命令执行后,如果出现图3.11.3所示的结果,则表示postfix服务安装成功。 图3.11.3 成功安装postfix的过程 3. Postfix邮件服务的配置 Postfix的主要配置文件是/etc/postfix/main.cf。按照默认值也可以运行,但它只监听127.0.0.1这个接口的邮件收发,如果要使它能够支持客户端完成最基本的邮件收发任务,通常还需要进行下面的设置,修改/etc/postfix/main.cf文件内容。 (1) 设置运行postfix服务的邮件主机的主机名、域名 用myhostname参数指定运行postfix服务的邮件主机的主机名称(FQDN名),而用mydomain参数指定该主机的域名称。 myhostname = mydomain = 当然这两个参数也可以不进行设置,缺省情况下,myhostname参数被设置为本地主机名,而且postfix自动将myhostname参数值的第一部分删除并将其余部分作为mydomain参数的值。 (2) 设置由本机寄出的邮件所使用的域名或主机名称 myorigin参数实际上是设置由本台邮件主机寄出的每封邮件的邮件头中mail from的地址。建议用户将myorigin参数设置为本地邮件主机的域名(即:myorigin=或$mydomain),这样一封由本地邮件主机寄出的邮件的邮件头中就会含有如类似“From:“username”username@”这样的内容,显然更具有可读性。 myorigin = $mydomain (3) 设置postfix服务监听的网络接口 默认时,inet_interfaces参数的值被设置为localhost,表明只能在本地邮件主机上寄信。如果邮件主机上有多个网络接口,而又不想使全部的网络接口都开放postfix服务,就可以用主机名指定需要开放的网络接口。不过,通常是将所有的网络接口都开放,以便接收从任何网络接口来的邮件,即将inet_interfaces参数的值设置为“all”。 inet_interfaces = all (4) 设置可接收邮件的主机名称或域名 mydestination参数非常重要,因为只有当发来的邮件的收件人地址与该参数值相匹配时,postfix才会将该邮件接收下来。例如,这里将该参数值设置为$mydomain和$myhostname,表明无论来信的收件人地址是xxx@(其中,xxx表示某用户的邮件帐户名),还是xxx@,postfix都会接收这些邮件。 mydestination = $myhostname, $mydomain (5) 设置可转发(Relay)哪些网络的邮件 可以使用mynetworks参数来设置。可将该参数值设置为所信任的某台主机的IP地址,也可设置为所信任的某个IP子网或多个IP子网(用“,”或者“ ”分隔)。这里,将mynetworks参数值设置为192.168.1.0/24,则表示这台邮件主机只转发子网192.168.1.0/24中的客户端所发来的邮件,而拒绝为其他子网转发邮件。 mynetworks = 192.168.1.0/24 (6) 设置可转发哪些网域的邮件 mynetworks参数是针对邮件来源的IP来设置的,而relay_domains参数则是针对邮件来源的域名或主机名来设置的。例如,将该参数值设置为,则表示任何由域发来的邮件都会被认为是信任的,postfix会自动对这些邮件进行转发。现在将该参数值设置为$mydestination,实际包含了和。 relay_domains = $mydestination (7) 重新启动postfix服务 使用命令/etc/init.d/postfix restart重新启动postfix服务。 完成了上面的基本设置后,重新启动postfix服务后,这台postfix邮件主机就基本准备好了。但是目前它仅支持客户端发信,还不支持收信。 4. SMTP认证的配置 Postfix默认不会对外开放转发功能,而仅对本机(localhost)开放转发功能。实际应用中,虽然必须在Postfix主配置文件中通过设置mynetworks、relay_domains参数来开放一些所信任的网段或网域,但是,还必须通过SMTP认证,对要求转发邮件的客户端进行用户身份(用户帐户与密码)验证。只有通过了验证,才能接收该用户寄来的邮件并帮助转发。 目前,常用的SMTP认证机制是通过Cyrus SASL软件来实现的。以下是实现使用Cyrus SASL软件实现SMTP认证的具体方法。 (1) 检测Cyrus-SASL认证包的安装 Red Hat Enterprise Linux系统默认将安装Cyrus-SASL认证包。可查看其安装了什么版本。图3.11.4表明默认安装的Cyrus-SASL认证包版本是2.1.22-4(V2版)。但相关程序还未安装完全。 图3.11.4 检测Cyrus-SASL安装情况 进一步运行下面的安装Cyrus-SASL认证包相关的程序: rpm -ivh /mnt/cdrom/Server/cyrus-sasl-gssapi-2.1.22-4.i386.rpm rpm -ivh /mnt/cdrom/Server/cyrus-sasl-md5-2.1.22-4.i386.rpm (2) Cyrus-SASL V2的密码验证机制 默认情况下,Cyrus-SASL V2版使用saslauthd这个守护进程进行密码认证,使用saslauthd -v命令可以查看当前系统中的Cyrus-SASL V2所支持的密码验证机制。 图3.11.5 查看系统中的Cyrus-SASL V2所支持的密码验证机制 使用saslauthd -v命令的执行情况如图3.11.5所示,说明了当前可使用的密码验证方法有getwent、kerberos5、pam、rimap、shadow和ldap。现在采用shadow验证方法,也就是直接用邮件服务器Linux系统的/etc/shadow文件中的用户帐户及密码进行验证。因此,在配置文件/etc/sysconfig/saslauthd中,应修改当前系统所采用的密码验证机制为shadow,即修改/etc/sysconfig/saslauthd文件中的内容,将 默认的语句MECH=pam 修改为 MECH=shadow 。修改后的结果如图3.11.6所示。 图3.11.6 采用shadow验证时/etc/sysconfig/saslauthd文件内容 (3) 测试Cyrus-SASL V2的认证功能 由于Cyrus-SASL V2版默认使用saslauthd这个守护进程进行密码认证,因此需要使用下面的命令:ps aux | grep saslauthd 来查看saslauthd进程是否已经运行。 如果命令ps aux | grep saslauthd执行的结果类似于图3.11.7所示,表明saslauthd进程已经在运行。 图3.11.7 捕获正在运行的saslauthd进程 如果没有发现saslauthd进程,则可用下面的命令启动该进程并设置它开机自启动。 /etc/init.d/saslauthd start chkconfig saslauthd on 假定这个Linux邮件服务器系统已有两个普通用户teacher和student,密码分别是“qwerty”和“poiuyt”,然后,可用下面的命令测试saslauthd进程的认证功能。测试teacher账号认证的命令如下: /usr/sbin/testsaslauthd -u teacher -p 'qwerty' 图3.11.8所示的结果,则表示通过teacher、student账号和密码的认证,说明saslauthd的认证功能已起作用。 图3.11.8 使用saslauthd的认证teacher、student账号和密码 (4) 设置postfix启用SMTP认证 要让postfix启用SMTP认证,就必须对postfix的主配置文件/etc/postfix/main.cf进行修改,添加有关SMTP认证的设置,因此,在/etc/postfix/main.cf文件后面添加如图3.11.9所示的内容。 图3.11.9 添加启用SMTP认证内容 在完成上述设置后,必须使用命令/etc/init.d/postfix reload重新载入配置文件,或使用重新启动Postfix服务命令/etc/init.d/postfix restart,重新启动Postfix服务。 此外,由于当Postfix要使用SMTP认证时,会读取/usr/lib/sasl2/smtpd.conf文件中的内容,以确定所采用的认证方式,因此如果要使用saslauthd这个守护进程来进行密码认证,就必须确保/usr/lib/sasl2/smtpd.conf文件中的内容为这么一句:pwcheck_method: saslauthd 。 (5) 测试postfix是否启用了SMTP认证 经过上面的设置,Postfix邮件服务器应该已具备了SMTP认证功能。可以采用Telnet命令,连接到Postfix服务器端口25来进行测试,测试过程如图3.11.10所示,测试时当然必须先启动postfix服务,再进行测试。 图3.11.10 测试Postfix是否启用了SASL认证 图3.11.10所示的情况表明,输入ehlo命令向远程域发出消息,在随后得到的本地Postfix响应信息中,如果出现第12、13行信息(显示当前Postfix所支持的认证方式),则表明Postfix已启用了SMTP认证功能。 5. 启动和停止Postfix服务 (1) 启动Postfix服务 启动Postfix服务的命令为:/etc/init.d/postfix start (2) 停止Postfix服务 停止Postfix服务的命令为:/etc/init.d/postfix stop (3) 重新启动Postfix服务 重新启动Postfix服务的命令为:/etc/init.d/postfix restart (4) 重新载入Postfix主配置文件 重新载入Postfix主配置文件的命令为:/etc/init.d/postfix reload 每当修改了Postfix主配置文件/etc/postfix/main.cf后,想要使新的配置生效,虽然可以通过重新启动服务来实现,但是如果当前Postfix服务正在运行,重新启动服务就会花费不少的时间。最好的方法就是让Postfix重新载入主配置文件的内容,并使新的配置立即生效。 (5) 自动启动Posffix服务 如果需要让Postfix服务随系统启动而自动加载,可以执行“ntsysv”命令启动服务配置程序,找到“postfix”服务,在其前面加上星号(*),然后选择“确定”即可。 6. 防火墙与Posffix服务 Postfix服务使用TCP协议的25端口,如果Linux服务器开启了防火墙功能,就应关闭防火墙功能或设置允许TCP协议的25端口通过。可以使用以下命令开放TCP协议的25端口。 iptables -I INPUT -p tcp --dport 25 -j ACCEPT 7. IMAP邮件服务的实现 Postfix服务只是一个邮件传输代理,它只提供SMTP服务,也就是只提供邮件的转发及本地的分发功能。要实现邮件的异地接收,还必须安装POP或IMAP服务。通常情况下,都是将STMP服务和POP或IMAP服务安装在同一台主机上,那么这台主机也就称为电子邮件服务器。 在本例子中采用Red Hat Enterprise Linux 5中,cyrus-imapd实现POP和IMAP服务。 (1) cyrus-imapd服务的安装 Red Hat Enterprise Linux安装程序默认没有安装cyrus-imapd服务。可使用下面的命令依次安装,实现yrus-imapd服务。 rpm -ivh /mnt/cdrom/Server/db4-utils-4.3.29-9.fc6.i386.rpm rpm -ivh /mnt/cdrom/Server/cyrus-imapd-perl-2.3.7-2.el5.i386.rpm rpm -ivh /mnt/cdrom/Server/cyrus-imapd-utils-2.3.7-2.el5.i386.rpm rpm -ivh /mnt/cdrom/Server/lm_sensors-2.10.7-4.el5.i386.rpm rpm -ivh /mnt/cdrom/Server/cyrus-imapd-2.3.7-2.el5.i386.rpm rpm -ivh /mnt/cdrom/Server/cyrus-imapd-devel-2.3.7-2.el5.i386.rpm (2) cyrus-imapd服务的基本配置 cyrus-imapd服务的配置文件有以下3个: n /etc/sysconfig/cyrus-imapd:用于启动cyrus-imapd服务的配置文件。 n /etc/cyrus.conf:是cyrus-imapd服务的主要配置文件,其中包含该服务中各个组件(IMAP、POP3、sieve和NNTP等)的设置参数。 n /etc/imapd.conf:是cyrus-imapd服务中的IMAP服务的配置文件。 默认情况下,这些配置文件已经基本设置好,只要启动cyrus-imapd服务,就可以同时提供POP和IMAP服务。但是,由于Postfix默认并不支持Cyrus-IMAP信箱,因此为了使Postfix与cyrus-imapd整合在一起,必须在Postfix的主配置文件/etc/postfix/main.cf中加入以下内容。 mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp (3) 启动cyrus-imapd服务并设置自动运行 默认情况下,利用RPM包文件安装cyrus-imapd服务后,该服务是被停用的,所以用户必须手动启动它。如果需要开机自动运行,也必须手动启用。使用下面的命令可启动cyrus-imapd服务并设置其开机时自动运行。命令的执行后情况如图3.11.11所示。 service cyrus-imapd start chkconfig cyrus-imapd on 图3.11.11 启动cyrus-imapd服务并设置自动运行 (4) 用户邮件信箱的管理 Cyrus-IMAP的一个优点就是它可以为每个用户创建一个邮件信箱,而且这种信箱可具有层次结构。默认情况下,Cyrus-IMAP的邮件信箱位于/var/spool/imap目录下。创建邮件信箱时,为每一个邮件信箱命名的格式为: 信箱类型.名称 [.文件夹名称[.文件夹名称]]… 例如,用户teacher的主要邮件信箱(即收件箱)的命名为user.teacher,其中关键字user表示信箱类型为用户信箱,teacher是Linux系统中的用户帐户名。如果需要为用户teacher创建发件箱、垃圾箱和草稿箱,则可以分别用名称user.teacher.Sent(发件箱)、user.teacher.Trash(垃圾箱)和user.teacher.Drafts(草稿箱)。 值得注意的是,用户teacher的收件箱为user.teacher,用户teacher的其他所有文件夹都必须以user.teacher为基础来创建。 下面以Linux系统中的用户帐户名teacher为例,介绍创建和管理用户邮件信箱的具体方法。 n 为Cyrus-IMAP管理员帐户cyrus设置密码命令 passwd cyrus Cyrus-IMAP管理员帐户cyrus是安装cyrus-imapd服务时自动创建的。在第一次为用户创建邮件信箱前,必须为该帐户设置一个密码,供以后管理用户信箱时验证用户身份。该命令的执行情况如图3.11.12所示。 图3.11.12 Cyrus-IMAP管理员帐户设置密码 n 使用cyradm管理工具为用户创建邮件信箱 cyradm管理工具位于/usr/bin/目录中,使用下面的命令可运行该管理工具。 /usr/bin/cyradm -u cyrus localhost 命令中必须用参数 -u指定运行该管理工具的用户帐户,通常为管理员帐户cyrus。命令执行时,会提示输入用户密码,确认无误后就可以进入管理命令行状态。图3.11.13显示了进入管理命令行状态并使用创建邮件信箱createmailbox和列出Cyrus-IMAP系统中已有的用户信箱命令listmailbox,为teacher用户创建邮件信箱的过程。 图3.11.13 Cyrus-IMAP管理员为teacher帐户创建邮件信箱 n 在用户邮件信箱下添加其他文件夹 在cyradm管理命令行状态下,可以使用下面的命令为用户teacher在其邮件信箱下创建发件箱、垃圾箱和草稿箱等其他文件夹。 createmailbox user.teacher.Send createmailbox user.teacher.Trash createmailbox user.teacher.Drafts 命令执行过程如图3.11.14所示。 图3.11.14 在teacher邮件信箱下建立其他文件夹 n 为用户邮件信箱设置配额 为用户信箱设置配额,使用的命令是setquota,可以限制用户信箱使用磁盘空间的容量。例如,在cyradm管理命令行状态下,如果要为用户teacher的信箱user.teacher设置50MB的配额的执行过程如图3.11.15所示。 图3.11.15 为teacher用户设置信箱配额 图3.11.15中,51200的单位为kB,设置后使用了listquota命令查看该邮件信箱的使用情况。 此外,在Linux系统提示符状态下,还可以用下面的命令查看用户邮箱的使用情况。 su -l cyrus -c /usr/lib/cyrus-imapd/quota 命令的执行情况如图3.11.16所示。 图3.11.16 查看用户信箱的使用情况 n 为管理用户邮件信箱设置权限 默认情况下,当Cyrus-IMAP管理员为用户创建了一个邮件信箱时,只有该用户对该邮件信箱具有完全控制的权限。例如,在创建了用户信箱user.teacher后,想直接用deletemailbox命令来删除该邮箱,即使是管理员cyrus也无权(Permission denied)。要想删除它,必须先用下面的命令为管理员cyrus自己授予完全控制的权限(a11)。 setacl user.teacher cyrus all 然后,可用listacl命令查看用户对该信箱所拥有的访问权限,并可以用deletemailbox命令来删除该邮箱。图3.11.17显示了管理员给自己授权,删除teacher用户信箱的过程。 图3.11.17 管理员自行授权删除teacher用户信箱 8. Web方式收发邮件的实现 通过Internet申请过免费的电子邮箱,体验过以Web方式撰写邮件、收发邮件、管理自己的邮箱是人们常用的方式。提供以Web方式收发邮件的服务被称为Web邮件服务,它是将电子邮件服务集成于Web来实现的。在Internet中,几乎所有的免费电子邮件服务都提供了Web邮件服务。Linux系统中的Postfix没有直接提供Web邮件服务功能,但是通常可通过将它与Apache以及第三方的Webmail软件(如squirrelmail等)集成在一起,提供Web邮件服务。 Red Hat Enterprise Linux 5中自带的squirrelmail (小松鼠网页电子邮件系统)就是一个用PHP4编写的、基于IMAP协议的Webmail电子邮件客户端软件。squirrelmail的主要特点是架设、操作与维护简便,无需使用SQL Server,与标准的电子邮件服务软件(如Postfix)的兼容性好,而且可以通过安装插件来扩充其功能。 (1) squirrelmail的安装 Red Hat Enterprise Linux安装程序默认没有安装squirrelmail。读者可依次使用下面的命令安装squirrelmail。 rpm -ivh /mnt/cdrom/Server/php-mbstring-5.1.6-23.el5.i386.rpm rpm -ivh /mnt/cdrom/Server/squirrelmail-1.4.8-4.0.1.el5.noarch.rpm (2) squirrelmail的配置 squirrelmail的主配置文件为/etc/squirrelmail/config.php。要配置squirrelmail,可以直接修改该文件的内容,但是使用squirrelmail的配置工具来配置更方便、更直观。 n 使用配置工具打开设置主菜单 使用squirrelmail的配置工具的命令如下: /usr/share/squirrelmail/config/conf.pl 命令运行后打开了设置主菜单,如图3.11.18所示。 图3.11.18 squirrelmail的配置工具主菜单 n 预设置IMAP服务器预为cyrus 如果需要,选择主菜单项D,即在命令提示符(Command>>)后输入字母“d”,则进入指定IMAP服务器的预设置。根据Linux系统的当前配置,在命令提示符(Command>>)后输入“cyrus”,如图3.11.19所示。 图3.11.19 IMAP服务器预设置为cyrus n 服务器的域名设置 选择主菜单项2,即在命令提示符后输入数字“2”,进入服务器设置子菜单,设置后的结果如图3.11.20所示。实际上,由于前面已经对IMAP服务器做了预设置,因此这里只需要将服务器的域名(子菜单项1)修改为“”,将发送邮件的方式(子菜单项3)改为“SMTP”(此时更新SMTP设置项即子菜单项B也随之变为“localhost:25”)。 图3.11.20服务器的域名设置 n 允许用户使用小写字母 选择主菜单项4,即在命令提示符后输入数字“4”,进入服务器设置子菜单,设置允许用户使用小写字母。将用户名用小写字母(子菜单项5)改为“true”。设置后的结果如图3.11.21所示。 图3.11.21 全局设置——允许用户使用小写字母 n 设置中文及中文字符集 选择主菜单项10,即在命令提示符后输入数字“10”,进入语言设置子菜单,将缺省语言(子菜单项1)改为“zh_CN”(中文),将缺省字符集(子菜单项2)改为“gb2312”。 设置后的结果如图3.11.22所示。 图3.11.22全局设置——使用中文语言 n 保存所有设置内容 选择主菜单项S,即可将所做的修改同时保存在文件/etc/squirrelmail/config.php和/usr/share/squirrelmail/config/config.php(符号连接文件)中。 上述修改只是对squirrelmail的最基本配置,还可根据需要做进一步的修改。特别是在默认情况下仅配置安装了3个插件,而Red Hat Enterprise Li
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服