530 likes | 707 Views
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 域的域名解析工作。 企业需求:
E N D
1.项目课题引入 2.电子邮件服务工作原理 3.Sendmail服务器配置 4. POP3服务器配置 5. WebMail服务器配置 6. 现场演示案例
课题引入--项目背景 项目背景: 某局域网内要求配置一台Sendmail邮件服务器。该邮件服务器的IP地址为192.168.1.2,负责投递的域为jyg.com。该局域网内部的DNS服务器为192.168.0.9,该DNS服务器负责jyg.com域的域名解析工作。 企业需求: 1.要求通过配置该邮件服务器可以实现用户user1利用邮箱帐号user1@jyg.com给邮箱帐号为user@jyg.com的用户user发送邮件。 2.为163.com域和192.168.1.0/24网段进行邮件中继。 3.拒绝为邮件地址为user2@jyg.com的用户进行邮件中继,但不给出错误提示信息。 4.拒绝为IP地址为192.168.2.1的计算机进行邮件中继,给出“sorry,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- 电子邮件服务工作原理 1.电子邮件服务概述 2.电子邮件系统的组成 3.电子邮件传输过程 4.与电子邮件相关的协议
电子邮件地址使用如下格式: USER@SERVER.COM 在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(Local 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端口上。 • 电子邮件相关协议
项目问题2-Sendmail服务器配置 1.Sendmail服务的安装与启动 2.相关配置文件 3.配置基本的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服务的启动: • Sendmail服务的安装与启动 3、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控制着sendmail的所有行为,但使用了大量的宏代码进行配置。通常利用宏文件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。该局域网内部的DNS服务器为192.168.0.9,该DNS服务器负责jyg.com域的域名解析工作。要求通过配置该邮件服务器可以实现用户user1利用邮箱帐号user1@jyg.com给邮箱帐号为user@jyg.com的用户user发送邮件。【例1】某局域网内要求配置一台sendmail邮件服务器。该邮件服务器的IP地址为192.168.1.2,负责投递的域为jyg.com。该局域网内部的DNS服务器为192.168.0.9,该DNS服务器负责jyg.com域的域名解析工作。要求通过配置该邮件服务器可以实现用户user1利用邮箱帐号user1@jyg.com给邮箱帐号为user@jyg.com的用户user发送邮件。 • 配置基本的Sendmail服务器
(1)修改/etc/mail/sendmail.mc文件,使得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文件编译生成新的sendmail.cf文件。(2)利用m4宏编译工具将sendmail.mc文件编译生成新的sendmail.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帐号,并设置帐号密码。(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时,这个邮件中转的动作称为邮件中继。邮件中继:当需要把邮件从一个MTA传送到另一个MTA时,这个邮件中转的动作称为邮件中继。 sendmail使用/etc/mail/access.db文件实现邮件中继的功能。sendmail缺省情况下直接禁止其他不明身份的主机利用本地服务器投递邮件。这种情况下,一个非本地的机器使用本地服务器进行投递时会产生“550 relay denied”错误。在需要使用邮件中继代理时,可以利/etc/mail/access.db文件或SMTP验证来实现该功能。 • 邮件中继和SMTP认证
access.db文件是一个散列表数据库,是用access文件产生的。access文件是一个纯文本文件,文件每一行的格式如下:access.db文件是一个散列表数据库,是用access文件产生的。access文件是一个纯文本文件,文件每一行的格式如下: <地址> <动作> 地址部分的表示格式: 域名,如jyg.com。 email地址,如user@jyg.com。 email地址的用户名部分,如user@。 IP地址,如192.168.1.1。 网络地址,如192.168.1。 动作取值: RELAY:允许通过该邮件服务器进行邮件中继。 REJECT:拒绝邮件中继并显示内部错误提示信息。 DISCARD:拒绝邮件中继但不返回错误提示信息。 • 设置邮件中继
【例2】设置例1中配置的邮件服务器为163.com域和192.168.1.0/24网段进行邮件中继。拒绝为邮件地址为user2@jyg.com的用户进行邮件中继,但不给出错误提示信息。拒绝为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 user2@jyg.com 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软件包提供,该软件包是默认安装的。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 DIGEST-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文件实现的。使用用户别名机制可以实现为单个用户指定别名、保护登录帐号、邮件转发以及实现群组邮递(邮件列表)等功能。用户别名机制通过/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上的电子邮件地址kingyueguang@163.com中。 [root@RHEL4 ~]# vi /etc/aliases //添加下面的行: jyg:kingyueguang@163.com 注意:在使用别名时,必须注意不要造成循环。例如user1转发给user,user再转发给user1……,如此循环。 • 设置用户别名
虚拟域是真实域的别名,使用虚拟域,可以将发给虚拟域的邮件投递到真实域的用户邮箱中。利用虚拟域也可以实现邮件列表的功能。虚拟域是真实域的别名,使用虚拟域,可以将发给虚拟域的邮件投递到真实域的用户邮箱中。利用虚拟域也可以实现邮件列表的功能。 虚拟域通过虚拟域用户表virtusertable.db实现虚拟域的邮件地址到真实域的邮件地址的重定向。该表是通过/etc/mail/ virtusertable文件生成的。 • 设置虚拟域用户
virtusertable文件的格式: 虚拟域地址 真实域地址 例如: @mlx.com @jyg.com user1@mlx.com user2 user1@mlx.com user2,mlx,jyg • 设置虚拟域用户
【例13-6】为例1中的邮件服务器设置虚拟域mlx.com,并为user1@jyg.com指定虚拟域别名user1@mlx.com。 配置步骤: (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,并生成virtusertable.db。(4)设置虚拟域用户表virtusertable,并生成virtusertable.db。 编辑/etc/mail/virtusertable文件,添加下面的行: user1@mlx.com user1@jyg.com 生成virtusertable.db文件: makemap hash virtusertable.db < /etc/mail/ virtusertable (5)重新启动sendmail服务即可。 • 设置虚拟域用户
项目问题3-POP3服务器配置 1.POP3服务器配置 2.电子邮件服务器测试
(1)安装dovecot软件包,在RHEL4的第4张安装光盘中可以找到该软件包。(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电子邮件服务器地址为192.168.1.2,利用telnet命令完成邮件地址为user1@jyg.com的用户向邮件地址为user@jyg.com的用户发送主题为“The first mail”的邮件。 • 电子邮件服务器测试
【例7】的操作步骤: [root@RHEL4 RPMS]# telnet 192.168.1.2 25 helo jyg.com //利用helo命令向邮件服务器表明身份 mail from:user1@jyg.com //利用mail from命令输入发件人的邮件地址 rcpt to:user@jyg.com //利用rcpt to命令输入收件人的邮件地址 data //输入data命令,表示之后输入的内容为邮件内容 from:user1@jyg.com //邮件的发件人 to:user@jyg.com //邮件的收件人 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的邮件信息 • 电子邮件服务器测试
项目问题4-Webmail服务器配置 1.OpenWebmail的基本配置 2.OpenWebmail的使用
Open WebMail是一个WebMail系统。它的主要目的是通过Web界面提供友好的邮件服务器访问界面,并在内存中有效地管理邮件。 Open WebMail是利用sendmail服务器来收发邮件的。所以在安装openwebmail服务器之前,必须安装好sendmail邮件服务器。 • OpenWebMail的基本配置
1、OpenWebMail软件包的安装: (1)从站点http://www.openwebmail.org下载Open Webmail软件包。 (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 --init (2)根据给出的提示信息修改配置文件。 (3)重新运行初始化命令。 #/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init (4)启动httpd服务器以提供Web服务。 • OpenWebMail的基本配置
在客户机浏览器中输入如下地址: http://domainname/cgi-bin/openwebmail/openwebmail.pl • OpenWebMail的使用
项目背景: 某局域网内要求配置一台Sendmail邮件服务器。该邮件服务器的IP地址为192.168.1.2,负责投递的域为jyg.com。该局域网内部的DNS服务器为192.168.0.9,该DNS服务器负责jyg.com域的域名解析工作。 企业需求: 1.要求通过配置该邮件服务器可以实现用户user1利用邮箱帐号user1@jyg.com给邮箱帐号为user@jyg.com的用户user发送邮件。 2.为163.com域和192.168.1.0/24网段进行邮件中继。 3.拒绝为邮件地址为user2@jyg.com的用户进行邮件中继,但不给出错误提示信息。 4.拒绝为IP地址为192.168.2.1的计算机进行邮件中继,给出“sorry,try again later”的错误提示信息。 • 现场演示—项目配置需求