Linux操作系统实验与实训 教学课件 作者 何文华 梁竞敏 实验15 邮件服务器的配置.ppt
文本预览下载声明
实验15 邮件服务器的配置 一、实验目的 二、实验工具与设备 三、实验预备知识 四、实验内容和步骤 五、实验总结 一、实验目的 1.了解邮件服务器的基本知识。 2.掌握SendMail的工作原理。 3.掌握SendMail的配置方法。 二、实验工具与设备 1.交换机(或集线器)。 2.带网卡的计算机,包括装有Windows系统的学生机和Linux系统的计算机服务器。 3.网线若干。 4.Red Hat Linux 9.0安装光盘。 三、实验预备知识 SendMail最初在1979年由Eric Allman编写,起先运行在BSD 4.0平台上。但这个程序不够灵活,每次编译时都需要重新配置。随着TCP协议和其他方面的发展,其不灵活性已经明显不能满足日益增长的需求。Eric Allman决定重新编写SendMail,从而诞生了现在的MTA标准(邮件传输代理标准)。 SendMail是Linux中的默认邮件传输代理(MTA),任务是从邮件用户代理(MUA)接收邮件,然后根据配置文件的定义把它们传送给配置好的的寄送程序。SendMail也能接受网络连接,并且发送邮件到本地邮箱或发送到其他程序。SendMail的配置文件见表15-1。 1.文件/etc/mail/access(访问数据库) 该文件定义什么主机或IP地址可以访问本地邮件服务器,以及是哪种类型的访问。主机可能会列出OK、REJECT、RELAY或简单的通过SendMail出错处理程序检测的给定的邮件错误。主机默认列出OK,只要邮件的最后目的地是本地主机,则允许传送邮件到主机。若列出REJECT,将拒绝所有邮件连接,带有RELAY选项的主机将被允许通过该邮件服务器发送邮件到任何地方。 例1:配置SendMail的访问许可数据库。 550 We do not accept mail from spammers FREE.STEALTH.MAILER@ 550 We do not accept mail from spammers another.source.of.spam REJECT OK 128.32 RELAY 本例有5条记录。与第一列匹配的发件人受到第二列动作的影响。 ? 前两个记录给出SendMail出错处理程序检测到的错误代码。当一个邮件与第一列相匹配时,该信息被打印到远程主机上。 ? 第三条记录拒绝来自Internet上的一个特别主机的邮件(another.source.of.spam)。 ? 第四记录允许来自 的邮件连接,这条记录比上一行更准确。更多的准确匹配使不准确的匹配无效。 ? 最后一条记录允许电子邮件从主机为128.32开头的IP地址转发,这些主机将被允许通过这台邮件服务器前往其他邮件服务器发送邮件。 当该文件被升级时,必须在/etc/mail/运行make升级数据库。 2.文件/etc/mail/aliases(别名数据库) 该文件包含一个扩展用户、程序或其他别名的虚拟邮箱列表。以下是一些在/etc/mail/aliases中使用的例子。 例2:邮件别名。 root: localuser ftp-bugs: joe,eric,paul bit.bucket: /dev/null procmail: |/usr/local/bin/procmail 该文件的格式很简单。冒号左边的邮箱名可以被展开成右边的形式。 ? 第一行简单地将root邮箱扩展为localuser,之后将继续在别名数据库中进行查找。如果没有找到匹配的记录,邮件被发给本地用户localuser。 ? 第二行展示一个邮件列表。发送到ftp-bugs的邮件可被展开成joe、eric和paul三个邮箱。当然也可以通过user@形式指定远程的邮箱。 ? 第三行展示如何把邮件写入到文件中,本例是/dev/null。 ? 最后一行展示如何将邮件发给一个程序,这里是通过UNIX?管道发到/usr/local/bin/procmail的标准输入。 更新该文件时,需要在/etc/mail/中用make更新数据库。 3.文件/etc/mail/local-host-names 该文件是一个本地主机名的列表,可以放入任何SendMail将收发邮件的域名或主机。例如,如果该邮件服务器从域和主机接收邮件,则local-host-names文件可以按以下方式书写: 当该文件被升级时,SendMail必须重新启动,以便更新设置。 4.文件/etc/mail/sendmail.cf(SendMail的主配置文件) SendMail.cf控制SendMail的所有行为,包括从重写邮件地址到打印拒绝远程邮
显示全部