1 . 项目课题引入
DESCRIPTION
1 . 项目课题引入. 2 . 电子邮件服务工作原理. 3 . S endmail 服务器配置. 4 . POP3 服务器配置. 5 . WebMail 服务器配置. 6 . 现场演示案例. 课题引入 -- 项目背景 项目背景: 某局域网内要求配置一台 Sendmail 邮件服务器。该邮件服务器的 IP 地址为 192.168.1.2 ,负责投递的域为 jyg.com 。该局域网内部的 DNS 服务器为 192.168.0.9 ,该 DNS 服务器负责 jyg.com 域的域名解析工作。 企业需求: - PowerPoint PPT PresentationTRANSCRIPT
1. 项目课题引入
2. 电子邮件服务工作原理
4. POP3 服务器配置
5. WebMail 服务器配置
6. 现场演示案例
3. Sendmail 服务器配置
课题引入 -- 项目背景 项目背景: 某局域网内要求配置一台 Sendmail 邮件服务器。该邮件服务器的 I
P 地址为 192.168.1.2 ,负责投递的域为 jyg.com 。该局域网内部的 D
NS 服务器为 192.168.0.9 ,该 DNS 服务器负责 jyg.com 域的域名解析工作。
企业需求: 1. 要求通过配置该邮件服务器可以实现用户 user1 利用邮箱帐号 us
[email protected] 给邮箱帐号为 [email protected] 的用户 user 发送邮件。
2. 为 163.com 域和 192.168.1.0/24 网段进行邮件中继。
3. 拒绝为邮件地址为 [email protected] 的用户进行邮件中继,但不给出错误提示信息。
4. 拒绝为 IP 地址为 192.168.2.1 的计算机进行邮件中继,给出“ so
rry , try again later” 的错误提示信息。
项目分析本项目对应的工作任务:
1. 企业 SMTP 服务器的配置2. 企业 POP3 服务器的配置3. 企业 Webmail 的配置4. 企业 DNS 服务器的配置5. 上述各种服务器的故障检测与排除
项目分析完成职业任务需要的专业知识:
1. 邮件服务工作原理2.Sendmail 服务器的配置3.POP3 服务器的配置与管理4.Webmail 服务器的配置与管理5. 邮件服务器客户端配置6. 邮件服务器的故障检测与排除
教学目标
1. 邮件服务的工作原理 ( 理解 )
2.Sendmail 服务器的配置(重点掌握)
3.POP3 服务器的配置(掌握)
4.Webmail 服务器的配置(掌握)
5. 邮件服务客户端的配置(熟练应用)
应达到的职业能力
1. 能熟练配置 Sendmail 邮件服务器
2. 能熟练配置与管理 POP3 服务器
3. 能熟练配置与管理 Webmail
4. 能熟练完成邮件服务的故障检测与排除
1. 电子邮件服务概述
2. 电子邮件系统的组成
3. 电子邮件传输过程
项目问题 1 - 电子邮件服务工作原理
4. 与电子邮件相关的协议
电子邮件地址使用如下格式:[email protected]
在 RHEL4 中,用户邮箱文件为:
/var/spool/mail/username
一封电子邮件有两部分组成:头部( head ):包括发送方、接收方、发送日期、邮件主题等。
正文( body ):要发送的消息内容。
电子邮件服务概述
Linux 系统中的电子邮件系统通常包括三个组件: 邮件用户代理( MUA , Mail User Agent ):电子邮件系统的客户端程序。主
要负责邮件的发送和接收以及邮件的撰写、阅读等工作。
目前主流的邮件用户代理软件 Outlook 、 Foxmail 、 mail 、 pine 、 Evolution
等。
邮件传送代理( MTA , Mail Transfer Agent ):电子邮件系统的服务器端程序,主要负责邮件的存储和转发。
目前主流的邮件用户代理软件: Exchange 、 sendmail 、 qmail 和 postfix 等。
邮件投递代理( MDA , Mail Dilivery Agent ): MDA 有时也称为 LDA ( Loc
al Dilivery Agent ,本地投递代理)。 MTA 把邮件投递到邮件接收者所在的邮件服务器, MDA 则负责把邮件按照接收者的用户名投递到邮箱中。
电子邮件系统的组成
邮件发送的基本过程 :( 1 )邮件用户在客户机使用 MUA 撰写邮件,并将写好的邮件提交给本地 MTA
上的缓冲区。( 2 ) MTA 每隔一定时间发送一次缓冲区中的邮件队列。 MTA 根据邮件的接收
者地址,使用 DNS 服务器的 MX (邮件交换器资源记录)解析邮件地址的域名部分,从而决定将邮件投递到哪一个目标主机。
( 3 )目标主机上的 MTA 收到邮件以后,根据邮件地址中的用户名部分判断用户的邮箱,并使用 MDA 将邮件投递到该用户的邮箱中。
( 4 )该邮件的接收者可以使用常用的 MUA 软件登录邮箱,查阅新邮件,并根据自己的需要作相应的处理。
电子邮件传输过程
SMTP ( Simple Mail Transfer Protocol )协议 :电子邮件在网络上 MTA 之间传输,使用的应用层协议为简单邮件传输协议( SMTP )。该协议默认在 TCP 25 端口上工作 。
POP3 ( Post Office Protocol 3 )协议 :邮局协议第 3 版,负责把用户的电子邮件信息从邮件服务器传递到用户的计算机上。该协议默认工作在 TCP 110 端口上。
IMAP4 ( Internet Message Access Protocol 4 )协议 :Internet 信息访问协议的第 4 个版本)能够在线阅读邮件信息而不将邮件下载到本地 。该协议默认工作在 TCP 143 端口上。
电子邮件相关协议
1. Sendmail 服务的安装与启动
2. 相关配置文件
3. 配置基本的 Sendmail 服务器
项目问题 2 - Sendmail 服务器配置
4. 邮件中继和 SMTP 验证
5. 设置用户别名
6. 设置虚拟域用户
1 、 sendmail 服务安装所需要的软件包: sendmail-8.13.1-2.i386.rpm : sendmail 服务端软件,在第 2 张安装光盘上。 sendmail-cf-8.13.1-2.i386.rpm :与 sendmail 相关的服务器端配置文件和程序,
在第 4 张安装光盘上。 sendmail-doc-8.13.1-2.i386.rpm : sendmail 服务器端的文档,在第 4 张安装
光盘上。 sendmail-devel-8.13.1-2.i386.rpm : sendmail 开发库文档,在第 4 张安装光
盘上。 m4-1.4.1-16.i386.rpm : GNU 宏处理器, sendmail 服务使用该程序转换宏文
件,在第 2 张安装光盘上。
Sendmail 服务的安装与启动
2 、 sendmail 服务的启动:
3 、 sendmail 服务的停止:
Sendmail 服务的安装与启动
1 、 sendmail 服务的主要配置文件/etc/mail/sendmail.cf : sendmail 服务的主配置文件。/etc/mail/sendmail.mc : sendmail 服务的宏文件。/etc/mail/local-host-names :用于设置服务器所负责投递的
域。/etc/mail/access.db :数据库文件,用于实现中继代理。/etc/aliases :用于定义 sendmail 邮箱别名。/etc/mail/virtusertable.db :用于定义虚拟用户和域的数据库
文件。
相关配置文件
2 、 sendmail 服务的主配置文件 sendmail 的主配置文件 sendmail.cf 控制着 sendm
ail 的所有行为,但使用了大量的宏代码进行配置。通常利用宏文件 sendmail.mc 生成 sendmail.cf 。
相关配置文件
修改 sendmail.mc 文件以监听正确的网络接口:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
将 sendmail.mc 文件编译为 sendmail.cf文件 :
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
添加DNS 的 MX记录。 为转发邮件到其他邮件服务器,应该修改 access 文件或启
用 smtp验证功能 。
配置基本的 Sendmail 服务器
【例 1】某局域网内要求配置一台 sendmail
邮件服务器。该邮件服务器的 IP 地址为 192.168.1.
2 ,负责投递的域为 jyg.com 。该局域网内部的 DN
S 服务器为 192.168.0.9 ,该 DNS 服务器负责 jyg.c
om 域的域名解析工作。要求通过配置该邮件服务器可以实现用户 user1 利用邮箱帐号 [email protected]
m 给邮箱帐号为 [email protected] 的用户 user 发送邮件。
配置基本的 Sendmail 服务器
( 1 )修改 /etc/mail/sendmail.mc 文件,使得 sendmail 可以在正确的网络端口监听服务请求。
找到行:DAEMON_OPTIONS ( `Port=smtp,Addr=127.0.0.1, Name=MTA' ) dnl
修改为: DAEMON_OPTIONS ( `Port=smtp,Addr=192.168.1.2, Name=MTA' ) dnl
配置基本的 Sendmail 服务器
( 2 )利用 m4 宏编译工具将 sendmail.mc 文件编译生成新的 se
ndmail.cf 文件。 # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
( 3 )修改 /etc/mail/local-host-names 文件,设置本地邮件服务器所投递的域。
# vi /etc/mail/local-host-names
添加行: jyg.com
配置基本的 Sendmail 服务器
( 4 )利用 useradd命令添加 user1 和 user 帐号,并设置帐号密码。
[root@RHEL4 mail]# useradd user1
[root@RHEL4 mail]# useradd user
[root@RHEL4 mail]# passwd user1
[root@RHEL4 mail]# passwd user
( 5 )修改 DNS 服务器的 MX 资源记录。 @ IN MX 10 mail.jyg.com.
( 6 )各项参数都设置好后,启动 sendmail 服务即可。
配置基本的 Sendmail 服务器
邮件中继:当需要把邮件从一个 MTA 传送到另一个 MTA
时,这个邮件中转的动作称为邮件中继。 sendmail 使用 /etc/mail/access.db 文件实现邮件中继的
功能。 sendmail 缺省情况下直接禁止其他不明身份的主机利用本地服务器投递邮件。这种情况下,一个非本地的机器使用本地服务器进行投递时会产生“ 550 relay denied”
错误。在需要使用邮件中继代理时,可以利 /etc/mail/acce
ss.db 文件或 SMTP 验证来实现该功能。
邮件中继和 SMTP 认证
access.db 文件是一个散列表数据库,是用 access 文件产生的。 access 文件是一个纯文本文件,文件每一行的格式如下:
< 地址 > < 动作 >
地址部分的表示格式:域名,如 jyg.com 。email 地址,如 [email protected] 。email 地址的用户名部分,如 user@ 。IP 地址,如 192.168.1.1 。网络地址,如 192.168.1 。
动作取值:RELAY :允许通过该邮件服务器进行邮件中继。REJECT :拒绝邮件中继并显示内部错误提示信息。DISCARD :拒绝邮件中继但不返回错误提示信息。
设置邮件中继
【例 2】设置例 1 中配置的邮件服务器为 1
63.com 域和 192.168.1.0/24 网段进行邮件中继。拒绝为邮件地址为 [email protected] 的用户进行邮件中继,但不给出错误提示信息。拒绝为 IP
地址为 192.168.2.1 的计算机进行邮件中继,给出“ sorry , try again later” 的错误提示信息。
设置邮件中继
( 1 )配置 /etc/mail/access 文件。 [root@RHEL4 ~]# vi /etc/mail/access
163.com RELAY
192.168.1 RELAY
[email protected] DISCARD
192.168.2.1 "sorry,try again later"
( 2 )使用 makemap命令生成 access.db 文件 。 [root@RHEL4 mail]# makemap hash /etc/mail/access.db</etc/mail/access
设置邮件中继
SMTP 验证机制可以实现用户级别的邮件中继控制。在 RHEL4 中,利用 saslauthd 服务提供 SMTP 身份验证,该服务由 cyrus-sasl 软件包提供,该软件包是默认安装的。
可以例用 rpm 命令检测是否安装。 [root@RHEL4 mail]# rpm -qa |grep sasl
SMTP 验证
实现 SMTP 验证的操作步骤: ( 1 )修改 /etc/mail/sendmail.mc 文件。
[root@RHEL4 mail]# vi /etc/mail/sendmail.mc
TRUST_AUTH_MECH ( `EXTERNAL DIGEST-MD5 CRAM-MD5
LOGIN PLAIN' ) dnl
define ( `confAUTH_MECHANISMS‘, `EXTERNAL GSSAPI DIG
EST-MD5 CRAM-MD5 LOGIN PLAIN’ ) dnl
( 2 )生成 sendmail.cf 文件。 # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
SMTP 验证
( 3 )重新启动 sendmail 服务,使设置生效。 [root@RHEL4 mail]# service sendmail restart
( 4 )启动 saslauthd 服务。 [root@RHEL4 mail]# service saslauthd start
启动 saslauthd : [ 确定 ]
SMTP 验证
Foxmail 客户端有关 SMTP 验证的配置界面:
SMTP 验证
使用用户别名机制可以实现为单个用户指定别名、保护登录帐号、邮件转发以及实现群组邮递(邮件列表)等功能。用户别名机制通过 /etc/aliases 文件实现的。
aliases 文件格式如下: alias: recipient[,recipient,…]
设置用户别名
【例 3】为 user1 帐号设置别名为 zhangsan ,为 user 帐号设置别名为 lisi 。
[root@RHEL4 ~]# vi /etc/aliases
//添加下面两行: zhangsan: user1
lisi: user
设置用户别名
【例 4】假设网络组的每位成员在本地 Linux
系统中都拥有一个真实的电子邮件帐户,要求给网络组的所有成员发送一封相同内容的电子邮件。
[root@RHEL4 ~]# vi /etc/aliases
//添加下面两行: network_group: peter,Tom,mlx,jyg
ower-network_group: jyg
设置用户别名
【例 5】将发送给 Linux 系统本地用户 jyg 的信件转发到其位于 Internet 上的电子邮件地址 [email protected] 中。
[root@RHEL4 ~]# vi /etc/aliases
//添加下面的行: jyg:[email protected]
注意:在使用别名时,必须注意不要造成循环。例如 user1
转发给 user , user再转发给 user1…… ,如此循环。
设置用户别名
虚拟域是真实域的别名,使用虚拟域,可以将发给虚拟域的邮件投递到真实域的用户邮箱中。利用虚拟域也可以实现邮件列表的功能。
虚拟域通过虚拟域用户表 virtusertable.db 实现虚拟域的邮件地址到真实域的邮件地址的重定向。该表是通过 /etc/mail/ virtusertable 文件生成的。
设置虚拟域用户
virtusertable 文件的格式: 虚拟域地址 真实域地址
例如:@mlx.com @jyg.com
[email protected] user2
[email protected] user2,mlx,jyg
设置虚拟域用户
【例 13-6】为例 1 中的邮件服务器设置虚拟域 mlx.com ,并为 [email protected]指定虚拟域别名 [email protected] 。
配置步骤:( 1 )配置 DNS 服务器,并设置虚拟域的 MX 资源记录。 ( 2 )将虚拟域 mlx.com添加到 local-host-names 文件中。
#echo “mlx.com” >> /etc/mail/local-host-names
( 3 )配置邮件中继:在 access 文件中添加行: mlx.com RELAY
使用 makemap命令生成 /etc/mail/access.db 文件:
#makemap hash /etc/mail/access.db < /etc/mail/access
设置虚拟域用户
( 4 )设置虚拟域用户表 virtusertable ,并生成 v
irtusertable.db 。 编辑 /etc/mail/virtusertable 文件,添加下面的行: [email protected] [email protected]
生成 virtusertable.db 文件:makemap hash virtusertable.db < /etc/mail/ virtusertable
( 5 )重新启动 sendmail 服务即可。
设置虚拟域用户
1. POP3 服务器配置
2. 电子邮件服务器测试
项目问题 3 - POP3 服务器配置
( 1 )安装 dovecot 软件包,在 RHEL4 的第 4张安装光盘中可以找到该软件包。
( 2 )修改 /etc/dovecot.conf 配置文件,使其支持 POP3 服务:protocols = pop3
pop3_listen = *
( 3 )运行如下命令,启动 dovecot 服务,使其支持 POP3 服务。
[root@RHEL4 RPMS]# service dovecot restart
( 4 )可以利用下列命令查看 110 端口的监听状态。[root@RHEL4 RPMS]# lsof -i:110
POP3 服务器配置
1 、 利用 telnet 命令发送电子邮件 【例 7】 sendmail 电子邮件服务器地址为 1
92.168.1.2 ,利用 telnet 命令完成邮件地址为 [email protected] 的用户向邮件地址为 us
[email protected] 的用户发送主题为“ The first
mail” 的邮件。
电子邮件服务器测试
【例 7】的操作步骤: [root@RHEL4 RPMS]# telnet 192.168.1.2 25
helo jyg.com // 利用 helo 命令向邮件服务器表明身份
mail from:[email protected] // 利用 mail from 命令输入发件人的邮件地址
rcpt to:[email protected] // 利用 rcpt to 命令输入收件人的邮件地址
data // 输入 data 命令,表示之后输入的内容为邮件内容
from:[email protected] // 邮件的发件人
to:[email protected] // 邮件的收件人
subject:the first mail // 邮件主题
hello,erverybody! // 邮件正文
. // 利用“ .”符号,表示输入结束
quit //退出 telnet 命令
电子邮件服务器测试
2 、 利用 telnet 命令接收电子邮件 【例 8】利用 telnet 命令从 IP 地址为 192.168.1.2 的 POP3 服务器接收电子
邮件。
[root@RHEL4 RPMS]# telnet 192.168.1.2 110
user user // 利用 user 命令输入用户的用户名
pass 123456 // 利用 pass 命令输入帐户密码
list // 利用 list 命令获得邮箱中邮件编号
retr 1 // 利用 retr 命令收取邮件编号为 1 的邮件信息
电子邮件服务器测试
1. OpenWebmail 的基本配置
2. OpenWebmail 的使用
项目问题 4 - Webmail 服务器配置
Open WebMail是一个 WebMail 系统。它的主要目的是通过 Web界面提供友好的邮件服务器访问界面,并在内存中有效地管理邮件。
Open WebMail是利用 sendmail 服务器来收发邮件的。所以在安装 openwebmail 服务器之前,必须安装好 sendmail 邮件服务器。
OpenWebMail 的基本配置
1 、 OpenWebMail 软件包的安装: ( 1 )从站点 http://www.openwebmail.org 下载 Open We
bmail 软件包。
( 2 )为了使 OpenWebMail 正常工作,需要更新 perl 解释器,这需要安装以下几个软件包:
perl-Compress-Zlib-1.42-1.el4.rf.i386.rpm
perl-Text-Iconv-1.4-1.2.el4.rf.i386.rpm
perl-suidperl-5.8.5-36.RHEL4.i386.rpm
( 3 )安装 Open WebMail 软件包。
OpenWebMail 的基本配置
2 、 OpenWebMail 的设置:( 1 )首先执行 Open WebMail 的初始化:#/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --ini
t ( 2 )根据给出的提示信息修改配置文件。
( 3 )重新运行初始化命令。#/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --ini
t ( 4 )启动 httpd 服务器以提供 Web 服务。
OpenWebMail 的基本配置
在客户机浏览器中输入如下地址:http://domainname/cgi-bin/openwebmail/openwebmail.pl
OpenWebMail 的使用
OpenWebMail 的使用
项目背景: 某局域网内要求配置一台 Sendmail 邮件服务器。该邮件服务器的 I
P 地址为 192.168.1.2 ,负责投递的域为 jyg.com 。该局域网内部的 D
NS 服务器为 192.168.0.9 ,该 DNS 服务器负责 jyg.com 域的域名解析工作。
企业需求: 1. 要求通过配置该邮件服务器可以实现用户 user1 利用邮箱帐号 us
[email protected] 给邮箱帐号为 [email protected] 的用户 user 发送邮件。
2. 为 163.com 域和 192.168.1.0/24 网段进行邮件中继。
3. 拒绝为邮件地址为 [email protected] 的用户进行邮件中继,但不给出错误提示信息。
4. 拒绝为 IP 地址为 192.168.2.1 的计算机进行邮件中继,给出“ so
rry , try again later” 的错误提示信息。
现场演示—项目配置需求
现场演示—演示环境
Vmware 中启动的 Linux系统分别作 Sendmail 邮件
服务器、 POP3 服务器和 Webmail 服务器。
利用 Vmware 中启动的 WinXP 和 Win2003 分别作为
客户端进行测试。
总结
1. 能从事邮件服务器的配置与管理工作
2. 能熟练配置 POP3 和 Webmail 服务器
3. 能熟练完成企业邮件服务部署
4. 能熟练完成邮件服务的故障检测与排除
企业需求: 企业需要构建自己的邮件服务器供员工使用;本企业已经申请了域名jyg.com ,要求企业内部员工的邮件地址为 [email protected] 格式。员工可以通过浏览器或者专门的客户端软件收发邮件。除此之外,最好可以提供网络硬盘、反垃圾邮件,自动回复等功能。
任务: 假设邮件服务器的 IP 地址为 192.168.1.2 ,域名为 mail.jyg.com 。请构建 POP3 和 SMTP 服务器,为局域网中的用户提供电子邮件;邮件要能发送到 Internet 上,同时 Internet 上的用户也能把邮件发到企业内部用户的邮箱。要设置邮箱的最大容量为 20M ,邮箱内邮件数不得超过 500 封,单个邮件不得超过 4M 。之外希望能提供邮件自动回复功能,提供反垃圾邮件功能。
作业:根据以下需求写出设计方案: