《Sendmail服务器配置.ppt》由会员分享,可在线阅读,更多相关《Sendmail服务器配置.ppt(26页珍藏版)》请在三一办公上搜索。
1、Linux实用教程第3版课件,人民邮电出版社出版,第20章 Sendmail服务器配置,Linux实用教程第3版PPT,本章内容,20.1 电子邮件简介20.2 Sendmail服务器安装和配置20.3 配置Sendmail客户端20.4 Sendmail服务器认证,20.1 电子邮件简介,20.1.1 什么是电子邮件20.1.2 邮件系统组成,什么是电子邮件,电子邮件是一种用电子手段提供信息交换的通信方式,是互联网应用最广的服务。通过电子邮件系统,用户可以以非常低廉的价格、非常快速的方式,与世界上任何一个角落的网络用户联系。电子邮件可以是文字、图像和声音等多种形式。电子邮件的存在极大的方便了
2、人与人之间的沟通与交流,促进了社会的发展。使用电子邮件具有传播速度快、方便便捷、成本低廉、广泛的交流对象以及信息多样化等优点。,邮件系统组成,邮件用户代理(MUA)邮件传输代理(MTA)邮件投递代理(MDA),20.2 Sendmail服务器安装和配置,20.2.1 安装Sendmail服务器软件包20.2.2/etc/mail/sendmail.mc文件详解20.2.3/etc/mail/local-host-names文件详解20.2.4/etc/mail/access文件详解20.2.5/etc/aliases文件详解20.2.6/etc/mail/userdb文件详解20.2.7 Se
3、ndmail服务器配置实例20.2.8 配置dovecot服务器20.2.9 测试发送Sendmail邮件,安装Sendmail服务器软件包,rootrhel#cd/run/media/root/RHEL-7.2 Server.x86_64/Packagesrootrhel Packages#rpm-ivh procmail-3.22-35.el7.x86_64.rpm rootrhel Packages#rpm-ivhrootrhel Packages#rpm-ivhrootrhel Packages#rpm-ivh sendmail-cf-8.14.7-4.el7.noarch.rpm,/
4、etc/mail/sendmail.mc文件详解,Sendmail服务器的守护进程在运行时会读取/etc/mail/sendmail.cf和/etc/mail/submit.cf这两个文件,但是这两个文件配置起来太复杂,一般不会直接去修改,而是去修改/etc/mail/sendmail.mc和/etc/mail/submit.mc文件。Sendmail服务器的第一个配置文件是/etc/mail/sendmail.cf,该文件决定Sendmail的属性,定义Sendmail服务器在哪一个域上工作以及开启某些验证机制。文件内容是特定宏语言编写,都是计算机生成的,该文件实在是过于复杂,我们只需要通过
5、修改/etc/mail/sendmail.mc文件,并且使用m4命令将/etc/mail/sendmail.mc文件编译成/etc/mail/sendmail.cf文件即可。,/etc/mail/sendmail.mc文件参数(1),define(confDEF_USER_ID,8:12)dnl指定Sendmail使用的用户ID为8,组ID为12。define(confTO_CONNECT,1m)dnl设置等待连接的最长时间为1分钟。define(confTRY_NULL_MX_LIST,True)dnl如果MX记录指向本机,那么Sendmail直接连接到远程计算机。define(confDO
6、NT_PROBE_INTERFACES,True)dnlSendmail不会自动将服务器的网络接口视为有效地址。define(PROCMAIL_MAILER_PATH,/usr/bin/procmail)dnl设置procmail的存储路径。define(ALIAS_FILE,/etc/aliases)dnl设置邮件别名文件的存储路径。define(STATUS_FILE,/var/log/mail/statistics)dnl设置邮件日志文件的存储路径。define(UUCP_MAILER_MAX,2000000)dnl设置基于UUCP协议的Mailer处理信息的最大限制为2MB。defin
7、e(confUSERDB_SPEC,/etc/mail/userdb.db)dnl设置用户数据库文件的路径。define(confTO_IDENT,0)dnl设置ident查询响应的最大等待时间为0秒。FEATURE(mailertable,hash-o/etc/mail/mailertable.db)dnl设置邮件发送器数据库的存储路径。,/etc/mail/sendmail.mc文件参数(2),FEATURE(virtusertable,hash-o/etc/mail/virtusertable.db)dnl设置虚拟邮件域数据库的存储路径。FEATURE(always_add_domain
8、)dnl增加主机名到所有本地发送的邮件。FEATURE(use_cw_file)dnl加载/etc/mail/local-host-names文件中定义的主机名。FEATURE(local_procmail,procmail-t-Y-a$h-d$u)dnl使用procmail作为本地邮件发送者。FEATURE(access_db,hash-T-o/etc/mail/access.db)dnl从指定数据库中加载可中继的域。FEATURE(blacklist_recipients)dnl根据访问数据库的值过滤外来邮件。EXPOSED_USER(root)dnl禁止伪装发送者地址中出现root用户。
9、DAEMON_OPTIONS(Port=smtp,Addr=127.0.0.1,Name=MTA)dnl指定Sendmail作为MTA运行时的参数。FEATURE(accept_unresolvable_domains)dnl可接收不能由DNS解析的主机所发送的邮件。LOCAL_DOMAIN(localhost.localdomain)dnl设置本地域。MAILER(smtp)dnl指定Sendmail所有SMTP发送者,包括smtp、esmtp、smtp8和relay。,/etc/mail/local-host-names文件详解,必须在/etc/mail/local-host-names文
10、件中定义收发邮件的主机名称和主机别名,否则无法正常收发邮件。修改/etc/mail/local-host-names文件,在该文件内可以添加以下内容。,/etc/mail/access文件详解,在默认情况下,SMTP协议是不需要经过身份验证的,任何用户通过使用telnet方式都可以连接到本地邮件服务器的25端口上,并发送邮件。为了避免不必要的麻烦,Sendmail中的缺省配置直接禁止其它主机利用本地Sendmail服务器投递邮件。使用/etc/mail/access文件可以用于控制邮件中继和邮件的进出管理,可以使用/etc/mail/access文件允许某些客户端可以使用此Sendmail服务
11、器转发邮件。,/etc/mail/access文件地址字段格式,/etc/mail/acess文件操作字段格式,创建数据库映射,对/etc/mail/access文件配置好之后,必须使用makemap命令为Sendmail创建数据库映射,建立新的/etc/mail/access.db数据库。映射类型常用hash数据库格式。使用以下命令建立新的/etc/mail/access.db数据库。rootrhel#makemap hash/etc/mail/access.db/etc/mail/access,/etc/aliases文件详解,在Sendmail决定邮件的接收者的目的地之前,它会先试图在别
12、名中查找。Sendmail的主要的别名配置文件是/etc/aliases。为了优化查找,Sendmail为其别名记录建立了一个哈希表数据库/etc/aliases.db。该文件通过newalias命令产生。/etc/aliases文件的格式如下所示。真实用户账户:别名1,别名2,/etc/mail/userdb文件详解,/etc/mail/userdb.db是一个散列表数据库,它是通过/etc/mail/userdb文件产生的。/etc/mail/userdb文件默认不存在,需要手工创建。/etc/mail/userdb文件的格式如下所示。入站地址:maildrop 被改写的入站地址出站地址:
13、mailname 被改写的出站地址,生成/etc/mail/userdb.db,Sendmail不会直接读取/etc/userdb文件,而是读取该文件创建的数据库。/etc/mail/userdb文件创建好之后,使用makemap命令生成/etc/mail/userdb.db。rootrhel#makemap btree/etc/mail/userdb.db/etc/mail/userdb,Sendmail服务器配置实例,在公司内部配置一台Sendmail服务器,为公司网络内的客户端计算机提供邮件收发服务,具体参数如下。DNS域名:。DNS服务器IP地址:。Sendmail服务器IP地址:。S
14、endmail服务器MX记录:。公司网络:。设置能够给公司全体员工群发邮件。,配置dovecot服务器,Sendmail是一个MTA(邮件传输代理),它只提供SMTP服务,这就是说它只通过电子邮件的转发和本地分发功能,但是如果要实现异地接收邮件,就必须要POP3和IMAP服务的支持。一般情况下,SMTP服务和POP3、IMAP服务都安装在同一台服务器上。在Linux系统中,dovecot软件包可以同时提供POP3和IMAP服务。1安装dovecot软件包2编辑/etc/dovecot/dovecot.conf文件3启动dovecot服务4查看端口号,测试发送Sendmail邮件,SMTP协议监
15、听端口号25,才能同其它邮件服务器传递邮件,通过使用telnet命令登录Sendmail服务器的25端口,模拟邮件服务器,发送邮件给所在服务器的用户。rootlinux#telnet 192.168.0.2 25,20.3 配置Sendmail客户端,20.3.1 Linux客户端配置20.3.2 Windows客户端配置,Linux客户端配置,1编辑/etc/resolv.conf文件2使用mail命令发送邮件3使用mail命令接收邮件,Windows客户端配置,在Windows 10客户端上,可以使用Microsoft Outlook 2016。,20.4 Sendmail服务器认证,在互联网上运行的Sendmail服务器,必须启用中继功能才能转发外部邮件,但是如果不加以限制,那么会使非法用户有机会执行各种操作,比如发送垃圾邮件,甚至被其它邮件服务器屏蔽,无法向外部转发邮件。通过Sendmail服务器认证功能,基于SASL验证邮件使用者的账户和密码,能够有效的拒绝非法用户使用Sendmail服务器中继邮件。1安装SASL库2编辑/etc/mail/sendmail.mc文件3重新启动sendmail服务4验证SASL5设置发送服务器要求验证,