470 likes | 649 Views
第 09 章 电子邮件服务的配置与应用. 本章导读 电子邮件服务的概述 postfix 邮件服务的安装 postfix 邮件服务的配置 启动和停止 postfix 服务 POP 和 IMAP 邮件服务的实现 电子邮件客户端的配置 Web 方式收发邮件. 9.1 电子邮件服务的概述. 电子邮件服务的概述 电子邮件系统的简介 电子邮件服务的工作原理 主流电子邮件服务器软件. 电子邮件服务的概述. Internet 最基本的服务,也是最重要的服务之一,就是电子邮件 服务。据统计 Internet 上百分之三十以上的业务量是电子邮件,仅
E N D
第09章 电子邮件服务的配置与应用 本章导读 • 电子邮件服务的概述 • postfix邮件服务的安装 • postfix邮件服务的配置 • 启动和停止postfix服务 • POP和IMAP邮件服务的实现 • 电子邮件客户端的配置 • Web方式收发邮件
9.1电子邮件服务的概述 • 电子邮件服务的概述 • 电子邮件系统的简介 • 电子邮件服务的工作原理 • 主流电子邮件服务器软件
电子邮件服务的概述 Internet最基本的服务,也是最重要的服务之一,就是电子邮件 服务。据统计Internet上百分之三十以上的业务量是电子邮件,仅 次于WWW服务。与传统的邮政信件服务类似,电子邮件可以用 来在Internet或Intranet上进行信息的传递和交流,但电子邮件服 务还具有快速、经济的特点。发一份电子邮件给远在他方的一位 用户,通常来说,对方几分钟之内就能收到。如果选用传统邮 件,发一封特快专递也需要至少一天的时间。而且电子邮件的费 用最多只需几毛钱。与实时信息交流,如电话相比,因为电子邮 件是采用存储转发的方式,发送邮件时,并不需要收件人处于在 线状态,收件人可以根据实际需要随时上网从邮件服务器上收取 邮件,方便了信息的交流。
电子邮件系统的简介 对于一个完整的电子邮件系统而言,它主要由以 下三部分构件组成。 1.用户代理 2.邮件服务器 3.电子邮件使用的协议 • SMTP协议 • POP3协议 • IMAP4协议
电子邮件服务的工作原理 E-mail的传输过程如下。 ① 用户在各自的POP服务器注册登记,由网络管理员设置为授权用户,并取得一个POP信箱,获得POP和SMTP服务器的地址信息。假设两个服务器的域名分别为example.com和163.com,注册用户分别为liu和chen,E-mail地址分别为liu@example.com和chen@163.com。 ② 当example.com服务器上的用户liu向chen@163.com发送E-mail时,E-mail首先从客户端被发送至example.com的SMTP服务器。 ③ example.com的SMTP服务器根据目的E-mail地址查询163.com的SMTP服务器,并转发该E-mail。 ④ 163.com的SMTP服务器收到转发的E-mail,并保存。 ⑤ 163.com的chen用户利用客户端登录至163.com的POP服务器,从其信箱中下载并浏览E-mail。
主流电子邮件服务器软件 在Linux平台中,有许多邮件服务器可供选择,但目前使用较多 的是Sendmail服务器、 Postfix服务器和Qmail服务器。 Sendmail是一个很优秀的邮件服务软件。几乎所有Linux的缺 省配置中都内置了这个软件,只需要设置好操作系统,它就能立 即运转起来。 Postfix是一个由IBM资助下由Wietse Venema 负责开发的一个 自由软件工程产物,它的目的就是为用户提供除Sendmail之外的 邮件服务器选择。 Qmail是有Dan Bernstein开发的可以自由下载邮件服务器软 件,其第一个beta版本0.70.7发布于1996年1月24日,当前版本是 2.3.3-2。
9.2postfix邮件服务的安装 Red Hat Enterprise Linux 提供了sendmail和postfix两种STMP邮件服务软 件,让用户可以随意地选择其中一种!不过,默认情况下安装程序已将sendmail 安装到系统中了,如果要使用postfix,就必须先将sendmail服务停止,然后再安 装postfix服务软件。具体操作步骤如下: ① 检查sendmail服务是否已启动 netstat -nutlp | grep :25 ② 关闭sendmail服务及开机时自启动 /etc/rc.d/init.d/sendmail stop chkconfig sendmail off ③ 安装postfix服务 将Red Hat Enterprise Linux 5的第3张安装盘放入光驱,加载光驱后在光盘的 Server目录下找到postfix的RPM安装包文件postfix-2.3.3-2.i386.rpm,然后使用 下面的命令安装: rpm -ivh /mnt/Server/postfix-2.3.3-2.i386.rpm
9.3postfix邮件服务的配置 • postfix服务的基本配置 • 虚拟别名域的配置 • 用户别名的配置 • SMTP认证的配置
postfix服务的基本配置 1.设置运行postfix服务的邮件主机的主机名、域名 myhostname = mail.gdvcp.net mydomain = gdvcp.net 2.设置由本机寄出的邮件所使用的域名或主机名称 myorigin = $mydomain 3.设置postfix服务监听的网络接口 inet_interfaces = all 4.设置可接收邮件的主机名称或域名 mydestination = $mydomain, $myhostname 5.设置可转发(Relay)哪些网络的邮件 mynetworks = 192.168.16.0/24 6.设置可转发哪些网域的邮件 relay_domains = gdvcp.net
虚拟别名域的配置 ① 编辑postfix主配置文件/etc/postfix/main.cf,进行如下定义: virtual_alias_domains = dzxx.cn,example.com virtual_alias_maps = hash:/etc/postfix/virtual ② 编辑配置文件/etc/postfix/virtual,进行如下定义: @dzxx.cn @gdvcp.net admin@example.com lbt st0321@example.com st0321001,st0321002 daliu@example.com lbt,liu6812@163.com ③ 在修改配置文件main.cf和virtual后,要使更改立即生效,应分别执行/usr/sbin目录下以下的两条命令: postmap /etc/postfix/virtual postfix reload
虚拟别名域的配置 此外,要使它能在单位内部网络中更好地 转发邮件,还必须进行DNS设置。 rhel5.gdvcp.net. IN A 192.168.16.177 mail.gdvcp.net. IN CNAME rhel5.gdvcp.net. gdvcp.net. IN MX 10 mail.gdvcp.net.
用户别名的配置 ① 打开postfix主配置文件/etc/postfix/main.cf,应确认文件中包含以下两条默认语句: alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases ② 编辑配置文件/etc/aliases,进行如下定义: st0322: st0322001,st0322002,st0322003,st0322004 st0323: :include: /etc/mail/st0323 jcz01: jczliuming lm01: jczliuming,liuming86@163.com ③ 在修改配置文件main.cf和aliases后,要使更改立即生效,应分别执行/usr/sbin目录下以下的两条命令: postalias /etc/aliases postfix reload
SMTP认证的配置 Cyrus SASL是Cyrus Simple Authentication and Security Layer的简写,它最 大的功能是为应用程序提供了认证函数库。应用程序可以通过函数库所提供的功 能定义认证方式,并让SASL通过与邮件服务器主机的沟通从而提供认证的功能。 1.Cyrus-SASL认证包的安装 默认情况下,Red Hat Enterprise Linux安装程序会将Cyrus-SASL认证包, 可使用下面的命令检查系统是否已经安装了Cyrus-SASL认证包或查看已经安装 了何种版本: rpm -qa | grep sasl 如果系统还没有安装Cyrus-SASL认证包,应将Red Hat Enterprise Linux 5第 1、2和3张安装光盘分别放入光驱,加载光驱后在光盘的Server目录下找到与 Cyrus-SASL认证包相关的RPM包文件,然后分别使用rpm -ivh命令安装。例 如,要安装第1张光盘上的cyrus-sasl-2.1.22-4.i386.rpm包文件,可使用下面的 命令: rpm -ivh /mnt/Server/cyrus-sasl-2.1.22-4.i386.rpm
SMTP认证的配置 • 2.Cyrus-SASL V2的密码验证机制 默认情况下,Cyrus-SASL V2版使用saslauthd这个守护进程进行密码认证,而密码 认证的方法有多种,使用下面的命令可查看当前系统中的Cyrus-SASL V2所支持的密码 验证机制: saslauthd –v 当前可使用的密码验证方法有getwent、kerberos5、pam、rimap、shadow和ldap。 为简单起见,这里准备采用shadow验证方法,也就是直接用/etc/shadow文件中的用户账 户及密码进行验证,因此,在配置文件/etc/sysconfig/saslauthd中,修改当前系统所采用 的密码验证机制为shadow,即: MECH=shadow
SMTP认证的配置 3.测试Cyrus-SASL V2的认证功能 由于Cyrus-SASL V2版默认使用saslauthd这个守护进程进行密码认 证,因此,需要使用下面的命令来查看saslauthd进程是否已经运行: ps aux | grep saslauthd 如果没有发现saslauthd进程,则可用下面的命令启动该进程并设置它 开机自启动: /etc/init.d/saslauthd start chkconfig saslauthd on 然后,可用下面的命令测试saslauthd进程的认证功能: /usr/sbin/testsaslauthd –u lbt –p ‘123456’
SMTP认证的配置 4.设置postfix启用smtp认证 main.cf文件中有关smtp认证的设置部分 smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = '' smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination broken_sasl_auth_clients=yes smtpd_client_restrictions = permit_sasl_authenticated smtpd_sasl_security_options = noanonymous
SMTP认证的配置 5.测试postfix是否启用了smtp认证 采用telnet命令连接到postfix服务器端口25来进行测试,测试过程 如下图所示。
9.4启动和停止postfix服务 1.启动postfix服务 /etc/init.d/postfix start 2.停止postfix服务 /etc/init.d/postfix stop 3.重新启动postfix服务 /etc/init.d/postfix restart 4.重新载入postfix主配置文件 /etc/init.d/postfix reload
9.4启动和停止postfix服务 5.自动启动postfix服务 如果需要让postfix服务随系统启动而自动加载,可以执行“ntsysv” 命令启动服务配置程序,找到“postfix”服务,然后在其前面加上“*” 星 号,确定即可。
9.5POP和IMAP邮件服务的实现 • dovecot服务的实现 • cyrus-imapd服务的实现
9.5POP和IMAP邮件服务的实现 postfix服务只是一个MTA(邮件传输代理),它只提供 SMTP服务,也就是只提供邮件的转发及本地的分发功能。 要实现邮件的异地接收,还必须安装POP或IMAP服务。通 常情况下,都是将STMP服务和POP或IMAP服务安装在同一 台主机上,那么这台主机也就称为电子邮件服务器。Red Hat Enterprise Linux 5中,有以下两个软件可以同时提供 POP和IMAP服务:dovecot和cyrus-imapd。
dovecot服务的实现 1.dovecot服务的安装 Red Hat Enterprise Linux安装程序默认没有安装dovecot服务,可使 用下面的命令检查系统是否已经安装了dovecot服务: rpm -q dovecot 如果系统还没有安装dovecot服务,将Red Hat Enterprise Linux 5第2 张安装光盘放入光驱,加载光驱后在光盘的Server目录下找到dovecot服 务的RPM安装包文件dovecot-1.0-1.2.rc15.el5.i386.rpm和相关程序,然 后使用下面的命令安装dovecot服务和相关程序: rpm -ivh /mnt/Server/perl-DBI-1.52-1.fc6.i386.rpm rpm -ivh /mnt/Server/mysql-5.0.22-2.1.i386.rpm rpm -ivh /mnt/Server/dovecot-1.0-1.2.rc15.el5.i386.rpm
dovecot服务的实现 2.dovecot服务的基本配置 dovecot服务的配置文件是/etc/dovecot.conf。要 启用最基本的dovecot服务,只需要修改该配置文件 中的以下内容: protocols =pop3 pop3sprotocol pop3 { listen = *:10100 } 3.启动dovecot服务并设置为自启动 /etc/rc.d/init.d/dovecot start chkconfig --level 345 dovecot on
cyrus-imapd服务的实现 1.cyrus-imapd服务的安装 Red Hat Enterprise Linux安装程序默认没有安装cyrus-imapd服务,可使用下 面的命令检查系统是否已经安装了cyrus-imapd服务: rpm -qa | grep cyrus-imapd 系统当前还没有安装cyrus-imapd服务,将Red Hat Enterprise Linux 5第2、3 张安装光盘放入光驱,加载光驱后在光盘的Server目录下可找到以下与cyrus- imapd服务相关的RPM包文件: cyrus-imapd-perl-2.3.7-1.1.el5.i386.rpm cyrus-imapd-utils-2.3.7-1.1.el5.i386.rpm db4-utils-4.3.29-9.fc6.i386.rpm lm_sensors-2.10.0-3.1.i386.rpm cyrus-imapd-2.3.7-1.1.el5.i386.rpm cyrus-imapd-devel-2.3.7-1.1.el5.i386.rpm 然后,可使用rpm -ivh命令分别进行安装 。
cyrus-imapd服务的实现 2.cyrus-imapd服务的基本配置 cyrus-imapd服务的配置文件有以下三个: • /etc/sysconfig/cyrus-imapd:是用于启动cyrus-imapd服务的配置文件; • /etc/cyrus.conf:是cyrus-imapd服务的主要配置文件,其中包含该服务中各个组件(imap、pop3、sieve和nntp等)的设置参数; • /etc/imapd.conf:是cyrus-imapd服务中的imap服务的配置文件。 为了使postfix与cyrus-imapd整合在一起,必须在postfix的 主配置文件/etc/postfix/main.cf中加入以下内容: mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp
cyrus-imapd服务的实现 3.启动cyrus-imapd服务并设置自动运行 默认情况下,利用RPM包文件安装cyrus-imapd服务后, 该服务是被停用的,所以用户必须手动启动它;如果需要开 机自动运行,也必须手动启用。使用下面的命令可启动 cyrus-imapd服务并设置其开机时自动运行: service cyrus-imapd start chkconfig cyrus-imapd on
cyrus-imapd服务的实现 4.用户邮件信箱的管理 创建邮件信箱时,为每一个邮件信箱命名的格式为: 信箱类型.名称[.文件夹名称[.文件夹名称]]… (1)为Cyrus-IMAP管理员账户cyrus设置密码 passwd cyrus (2) 使用cyradm管理工具为用户创建邮件信箱 /usr/bin/cyradm -u cyrus localhost 然后使用下面的命令就可为用户lbt创建一个邮件信箱: createmailbox user.lbt
cyrus-imapd服务的实现 (3)在用户邮件信箱下添加其他文件夹 使用下面的命令为用户lbt在其邮件信箱下创建发件箱、垃圾箱和草稿箱 等其他文件夹: createmailbox user.lbt.Send createmailbox user.lbt.Trash createmailbox user.lbt.Drafts (4)为用户邮件信箱设置配额 为用户lbt的信箱user.lbt设置5M的配额,可使用下面的命令: setquota user.lbt 5210 用下面的命令查看用户邮箱的使用情况: su -l cyrus -c /usr/lib/cyrus-imapd/quota
cyrus-imapd服务的实现 (5)为用户邮件信箱设置权限 Cyrus-IMAP中设置用户信箱权限的6种缩写形式
cyrus-imapd服务的实现 常用的cyradm管理命令及其缩写形式
9.7Web方式收发邮件 虽然postfix没有直接提供Web邮件服务功能,但是通常可通过将它与Apache 以及第三方的Webmail软件(如squirrelmail、openwebmail等)集成在一起,提 供Web邮件服务。 1.squirrelmail的安装 Red Hat Enterprise Linux 安装程序默认没有安装squirrelmail,可使用下面的 命令检查系统是否已经安装了squirrelmail: rpm -q squirrelmail 如果系统还没有安装squirrelmail,将Red Hat Enterprise Linux 5第2、3张安 装光盘放入光驱,加载光驱后在光盘的Server目录下分别找到squirrelmail的 RPM安装包文件php-mbstring-5.1.6-5.el5.i386.rpm 和squirrelmail-1.4.8- 4.el5.noarch.rpm,然后使用下面的命令安装它: rpm -ivh /mnt/Server/php-mbstring-5.1.6-5.el5.i386.rpm rpm -ivh /mnt/Server/squirrelmail-1.4.8-4.el5.noarch.rpm
9.7Web方式收发邮件 2.squirrelmail的配置 squirrelmail的主配置文件为/etc/squirrelmail/config.php。 要配置squirrelmail,可以直接修改该文件的内容,但是使用 squirrelmail的配置工具来配置更方便、更直观。使用 squirrelmail的配置工具进行配置的具体步骤如下。 打开squirrelmail的配置工具,可执行下面的命令: /usr/share/squirrelmail/config/conf.pl
9.7Web方式收发邮件 3.使用squirrelmail收发邮件 采用RPM包安装squirrelmail时,安装程序会在Apache服 务器的默认Web站点中 配置一个别名webmail,该别名被定义在/etc/httpd/conf.d/squirrelmail.conf文件中,即: Alias /webmail /usr/share/squirrelmail 因此,可直接在浏览器的地址栏中输入 http://mail.gdvcp.net/webmail(其中,mail.gdvcp.net是 postfix+apache+squirrelmail服务器的域名),从而打开 squirrelmail的登录页面。
9.8练习题 • 1.架设一台postfix+cyrus imapd+squirrelmail电子邮件服务器,并按照下面的要求进行配置。 • (1)只为子网192.168.1.0/24提供邮件转发功能。 • (2)允许用户使用多个电子邮件地址,如用户tom的电子邮件地址可有tom@example.com和gdxs_tom@example.com。 • (3)设置邮件群发功能。 • (4)设置SMTP认证功能。 • (5)用户可以使用squirrelmail收发邮件。 • 2.试用Outlook Express、Evolution等客户端软件收发电子邮件。