第 09 章 电子邮件服务的配置与应用

47
第 09 第 第第第第第第第第第第第第 本本本本 本本本本本本本本本 postfix 本本本本本本本 postfix 本本本本本本本 本本本本本 postfix 本本 POP 本 IMAP 本本本本本本本 本本本本本本本本本本 Web 本本本本本本

Upload: wyanet

Post on 03-Feb-2016

152 views

Category:

Documents


0 download

DESCRIPTION

第 09 章 电子邮件服务的配置与应用. 本章导读 电子邮件服务的概述 postfix 邮件服务的安装 postfix 邮件服务的配置 启动和停止 postfix 服务 POP 和 IMAP 邮件服务的实现 电子邮件客户端的配置 Web 方式收发邮件. 9.1 电子邮件服务的概述. 电子邮件服务的概述 电子邮件系统的简介 电子邮件服务的工作原理 主流电子邮件服务器软件. 电子邮件服务的概述. Internet 最基本的服务,也是最重要的服务之一,就是电子邮件 服务。据统计 Internet 上百分之三十以上的业务量是电子邮件,仅 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 09 章 电子邮件服务的配置与应用

第 09 章 电子邮件服务的配置与应用

本章导读 电子邮件服务的概述 postfix 邮件服务的安装 postfix 邮件服务的配置 启动和停止 postfix 服务 POP 和 IMAP 邮件服务的实现 电子邮件客户端的配置 Web 方式收发邮件

Page 2: 第 09 章 电子邮件服务的配置与应用

9.1 电子邮件服务的概述

• 电子邮件服务的概述• 电子邮件系统的简介• 电子邮件服务的工作原理• 主流电子邮件服务器软件

Page 3: 第 09 章 电子邮件服务的配置与应用

电子邮件服务的概述

Internet 最基本的服务,也是最重要的服务之一,就是电子邮件服务。据统计 Internet 上百分之三十以上的业务量是电子邮件,仅次于 WWW 服务。与传统的邮政信件服务类似,电子邮件可以用来在 Internet 或 Intranet 上进行信息的传递和交流,但电子邮件服务还具有快速、经济的特点。发一份电子邮件给远在他方的一位用户,通常来说,对方几分钟之内就能收到。如果选用传统邮件,发一封特快专递也需要至少一天的时间。而且电子邮件的费用最多只需几毛钱。与实时信息交流,如电话相比,因为电子邮件是采用存储转发的方式,发送邮件时,并不需要收件人处于在线状态,收件人可以根据实际需要随时上网从邮件服务器上收取邮件,方便了信息的交流。

Page 4: 第 09 章 电子邮件服务的配置与应用

电子邮件系统的简介

对于一个完整的电子邮件系统而言,它主要由以下三部分构件组成。 1 .用户代理2 .邮件服务器3 .电子邮件使用的协议• SMTP 协议• POP3 协议• IMAP4 协议

Page 5: 第 09 章 电子邮件服务的配置与应用

电子邮件服务的工作原理

E-mail 的传输过程如下。① 用户在各自的 POP 服务器注册登记,由网络

管理员设置为授权用户,并取得一个 POP 信箱,获得 POP 和 SMTP 服务器的地址信息。假设两个服务器的域名分别为 example.com和 163.com ,注册用户分别为 liu 和 chen ,E-mail 地址分别为 [email protected][email protected]

② 当 example.com 服务器上的用户 liu 向 [email protected] 发送 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 。

Page 6: 第 09 章 电子邮件服务的配置与应用

主流电子邮件服务器软件

在 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 。

Page 7: 第 09 章 电子邮件服务的配置与应用

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

Page 8: 第 09 章 电子邮件服务的配置与应用

9.3postfix 邮件服务的配置

• postfix 服务的基本配置• 虚拟别名域的配置• 用户别名的配置• SMTP 认证的配置

Page 9: 第 09 章 电子邮件服务的配置与应用

postfix 服务的基本配置

1 .设置运行 postfix 服务的邮件主机的主机名、域名myhostname = mail.gdvcp.netmydomain = gdvcp.net2 .设置由本机寄出的邮件所使用的域名或主机名称myorigin = $mydomain3 .设置 postfix 服务监听的网络接口inet_interfaces = all4 .设置可接收邮件的主机名称或域名mydestination = $mydomain, $myhostname5 .设置可转发( Relay)哪些网络的邮件mynetworks = 192.168.16.0/246 .设置可转发哪些网域的邮件relay_domains = gdvcp.net

Page 10: 第 09 章 电子邮件服务的配置与应用

虚拟别名域的配置

① 编辑 postfix 主配置文件 /etc/postfix/main.cf ,进行如下定义: virtual_alias_domains = dzxx.cn , example.comvirtual_alias_maps = hash:/etc/postfix/virtual ② 编辑配置文件 /etc/postfix/virtual ,进行如下定义:@dzxx.cn @[email protected] [email protected] st0321001 , [email protected] lbt , [email protected] ③ 在修改配置文件 main.cf 和 virtual后,要使更改立即生效,应分别执

行 /usr/sbin 目录下以下的两条命令:postmap /etc/postfix/virtualpostfix reload

Page 11: 第 09 章 电子邮件服务的配置与应用

虚拟别名域的配置

此外,要使它能在单位内部网络中更好地转发邮件,还必须进行 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.

Page 12: 第 09 章 电子邮件服务的配置与应用

用户别名的配置

① 打开 postfix 主配置文件 /etc/postfix/main.cf ,应确认文件中包含以下两条默认语句:

alias_maps = hash:/etc/aliasesalias_database = hash:/etc/aliases② 编辑配置文件 /etc/aliases ,进行如下定义:st0322: st0322001 , st0322002 , st0322003 , st032200

4st0323: :include: /etc/mail/st0323jcz01: jczliuminglm01: jczliuming , [email protected] ③ 在修改配置文件 main.cf 和 aliases后,要使更改立即生效,应分别执行 /usr/sbin 目录下以下的两条命令:

postalias /etc/aliases postfix reload

Page 13: 第 09 章 电子邮件服务的配置与应用

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

Page 14: 第 09 章 电子邮件服务的配置与应用

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

Page 15: 第 09 章 电子邮件服务的配置与应用

SMTP认证的配置

3 .测试 Cyrus-SASL V2 的认证功能由于 Cyrus-SASL V2 版默认使用 saslauthd 这个守护进程进行密码认

证,因此,需要使用下面的命令来查看 saslauthd 进程是否已经运行:ps aux | grep saslauthd如果没有发现 saslauthd 进程,则可用下面的命令启动该进程并设置它

开机自启动:/etc/init.d/saslauthd startchkconfig saslauthd on然后,可用下面的命令测试 saslauthd 进程的认证功能:/usr/sbin/testsaslauthd –u lbt –p ‘123456’

Page 16: 第 09 章 电子邮件服务的配置与应用

SMTP认证的配置

4 .设置 postfix 启用 smtp认证main.cf文件中有关 smtp认证的设置部分

smtpd_sasl_auth_enable = yessmtpd_sasl_local_domain = ''smtpd_recipient_restrictions = permit_mynetworks,

permit_sasl_authenticated, reject_unauth_destinationbroken_sasl_auth_clients=yessmtpd_client_restrictions = permit_sasl_authenticatedsmtpd_sasl_security_options = noanonymous

Page 17: 第 09 章 电子邮件服务的配置与应用

SMTP认证的配置

5 .测试 postfix 是否启用了 smtp认证采用 telnet命令连接到 postfix 服务器端口 25 来进行测试,测试过程

如下图所示。

Page 18: 第 09 章 电子邮件服务的配置与应用

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

Page 19: 第 09 章 电子邮件服务的配置与应用

9.4 启动和停止 postfix 服务

5 .自动启动 postfix 服务 如果需要让 postfix 服务随系统启动而自动加载,可以执行“ ntsys

v”

命令启动服务配置程序,找到“ postfix” 服务,然后在其前面加上“ *” 星

号,确定即可。

Page 20: 第 09 章 电子邮件服务的配置与应用

9.5POP 和 IMAP 邮件服务的实现

• dovecot 服务的实现• cyrus-imapd 服务的实现

Page 21: 第 09 章 电子邮件服务的配置与应用

9.5POP 和 IMAP 邮件服务的实现

postfix 服务只是一个 MTA(邮件传输代理),它只提供SMTP 服务,也就是只提供邮件的转发及本地的分发功能。要实现邮件的异地接收,还必须安装 POP 或 IMAP 服务。

通常情况下,都是将 STMP 服务和 POP 或 IMAP 服务安装在同一

台主机上,那么这台主机也就称为电子邮件服务器。 Red

Hat Enterprise Linux 5 中,有以下两个软件可以同时提供POP 和 IMAP 服务: dovecot 和 cyrus-imapd 。

Page 22: 第 09 章 电子邮件服务的配置与应用

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.rpmrpm -ivh /mnt/Server/mysql-5.0.22-2.1.i386.rpmrpm -ivh /mnt/Server/dovecot-1.0-1.2.rc15.el5.i386.rpm

Page 23: 第 09 章 电子邮件服务的配置与应用

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

Page 24: 第 09 章 电子邮件服务的配置与应用

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.rpmcyrus-imapd-utils-2.3.7-1.1.el5.i386.rpmdb4-utils-4.3.29-9.fc6.i386.rpmlm_sensors-2.10.0-3.1.i386.rpmcyrus-imapd-2.3.7-1.1.el5.i386.rpmcyrus-imapd-devel-2.3.7-1.1.el5.i386.rpm然后,可使用 rpm -ivh命令分别进行安装 。

Page 25: 第 09 章 电子邮件服务的配置与应用

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

Page 26: 第 09 章 电子邮件服务的配置与应用

cyrus-imapd 服务的实现

3 .启动 cyrus-imapd 服务并设置自动运行默认情况下,利用 RPM包文件安装 cyrus-imapd 服务后,

该服务是被停用的,所以用户必须手动启动它;如果需要开机自动运行,也必须手动启用。使用下面的命令可启动cyrus-imapd 服务并设置其开机时自动运行:

service cyrus-imapd start

chkconfig cyrus-imapd on

Page 27: 第 09 章 电子邮件服务的配置与应用

cyrus-imapd 服务的实现

4 .用户邮件信箱的管理创建邮件信箱时,为每一个邮件信箱命名的格式为:信箱类型 . 名称[ . 文件夹名称[ . 文件夹名称]]…( 1 )为 Cyrus-IMAP 管理员账户 cyrus 设置密码 passwd cyrus( 2 ) 使用 cyradm 管理工具为用户创建邮件信箱 /usr/bin/cyradm -u cyrus localhost然后使用下面的命令就可为用户 lbt 创建一个邮件信箱:createmailbox user.lbt

Page 28: 第 09 章 电子邮件服务的配置与应用

cyrus-imapd 服务的实现

( 3)在用户邮件信箱下添加其他文件夹使用下面的命令为用户 lbt 在其邮件信箱下创建发件箱、垃圾箱和草稿箱

等其他文件夹:createmailbox user.lbt.Sendcreatemailbox user.lbt.Trashcreatemailbox user.lbt.Drafts

( 4)为用户邮件信箱设置配额为用户 lbt 的信箱 user.lbt 设置 5M 的配额,可使用下面的命令:setquota user.lbt 5210用下面的命令查看用户邮箱的使用情况:

su -l cyrus -c /usr/lib/cyrus-imapd/quota

Page 29: 第 09 章 电子邮件服务的配置与应用

cyrus-imapd 服务的实现

( 5)为用户邮件信箱设置权限

权限缩写 描述

none 无任何权限

read 允许读取信箱的内容

post 允许读取和向信箱中张贴信息(如发邮件)

append 允许读取和向信箱中张贴与插入信息

write除具有 append权限外,还具有在信箱中删除邮件的权限,但不具有变更信箱的

权限

all 具有所有权限

Cyrus-IMAP 中设置用户信箱权限的 6种缩写形式

Page 30: 第 09 章 电子邮件服务的配置与应用

cyrus-imapd 服务的实现

常用的 cyradm 管理命令及其缩写形式

命令 缩写 描述

listmailbox lm 列出与给定字符串相匹配的所有邮件信箱的名称

createmailbox cm 创建一个新的邮件信箱

deletemailbox dm 删除一个邮件信箱及其下层的所有文件夹

renamemailbox renm 为邮件信箱更名

setaclmailbox sam 为邮件信箱设置用户的访问权限

deleteaclmailboxdam 删除用户访问邮件信箱的部分或全部权限

listaclmailbox lam 列出邮件信箱的访问权限列表

setquota sq 为邮件信箱设置配额

listquota lq 列出邮件信箱的配额

Page 31: 第 09 章 电子邮件服务的配置与应用

9.6 电子邮件客户端的配置

Page 32: 第 09 章 电子邮件服务的配置与应用

9.6 电子邮件客户端的配置

Page 33: 第 09 章 电子邮件服务的配置与应用

9.6 电子邮件客户端的配置

Page 34: 第 09 章 电子邮件服务的配置与应用

9.6 电子邮件客户端的配置

Page 35: 第 09 章 电子邮件服务的配置与应用

9.6 电子邮件客户端的配置

Page 36: 第 09 章 电子邮件服务的配置与应用

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.rpmrpm -ivh /mnt/Server/squirrelmail-1.4.8-4.el5.noarch.rpm

Page 37: 第 09 章 电子邮件服务的配置与应用

9.7Web 方式收发邮件

2 . squirrelmail 的配置squirrelmail 的主配置文件为 /etc/squirrelmail/config.php 。

要配置 squirrelmail ,可以直接修改该文件的内容,但是使用

squirrelmail 的配置工具来配置更方便、更直观。使用squirrelmail 的配置工具进行配置的具体步骤如下。打开 squirrelmail 的配置工具,可执行下面的命令: /usr/share/squirrelmail/config/conf.pl

Page 38: 第 09 章 电子邮件服务的配置与应用

9.7Web 方式收发邮件

Page 39: 第 09 章 电子邮件服务的配置与应用

9.7Web 方式收发邮件

Page 40: 第 09 章 电子邮件服务的配置与应用

9.7Web 方式收发邮件

Page 41: 第 09 章 电子邮件服务的配置与应用

9.7Web 方式收发邮件

Page 42: 第 09 章 电子邮件服务的配置与应用

9.7Web 方式收发邮件

Page 43: 第 09 章 电子邮件服务的配置与应用

9.7Web 方式收发邮件

Page 44: 第 09 章 电子邮件服务的配置与应用

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 的登录页面。

Page 45: 第 09 章 电子邮件服务的配置与应用

9.7Web 方式收发邮件

Page 46: 第 09 章 电子邮件服务的配置与应用

9.7Web 方式收发邮件

Page 47: 第 09 章 电子邮件服务的配置与应用

9.8 练习题

• 1 .架设一台 postfix+cyrus imapd+squirrelmail 电子邮件服务器,并按照下面的要求进行配置。

• ( 1)只为子网 192.168.1.0/24 提供邮件转发功能。• ( 2)允许用户使用多个电子邮件地址,如用户 tom 的电

子邮件地址可有 [email protected][email protected]

• ( 3)设置邮件群发功能。• ( 4)设置 SMTP认证功能。• ( 5)用户可以使用 squirrelmail 收发邮件。• 2 .试用 Outlook Express 、 Evolution等客户端软件收发

电子邮件。