预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

编号:时间:2021年x月x日书山有路勤为径学海无涯苦作舟页码:linux下搭建邮件服务器默认分类2010-11-1618:51:54阅读42评论0字号:大中小订阅一、Sendmail概述sendmail是最重要的邮件传输代理程序。理解电子邮件的工作模式是非常重要的。一般情况下我们把电子邮件程序分解成用户代理传输代理和投递代理。用户代理用来接受用户的指令将用户的信件传送至信件传输代理如:outlookexpress、foxmail等。而投递代理则从信件传输代理取得信件传送至最终用户的邮箱如:procmail。当用户试图发送一封电子邮件的时候他并不能直接将信件发送到对方的机器上用户代理必须试图去寻找一个信件传输代理把邮件提交给它。信件传输代理得到了邮件后首先将它保存在自身的缓冲队列中然后根据邮件的目标地址信件传输代理程序将找到应该对这个目标地址负责的邮件传输代理服务器并且通过网络将邮件传送给它。对方的服务器接收到邮件之后将其缓冲存储在本地直到电子邮件的接收者察看自己的电子信箱。显然邮件传输是从服务器到服务器的而且每个用户必须拥有服务器上存储信息的空间(称为信箱)才能接受邮件(发送邮件不受这个限制)。可以看到一个邮件传输代理的主要工作是监视用户代理的请求根据电子邮件的目标地址找出对应的邮件服务器将信件在服务器之间传输并且将接收到的邮件缓冲或者提交给最终投递程序。有许多的程序可以作为信件传输代理但是sendmail是其中最重要的一个事实证明它可以支持数千甚至更多的用户而且占用的系统资源相当少。不过sendmail的配置十分复杂因此也有人使用另外的一些工具如qmail、postfix等等。当sendmail程序得到一封待发送的邮件的时候它需要根据目标地址确定将信件投递给对应的服务器这是通过DNS服务实现的。例如一封邮件的目标地址是tom@example.com那么sendmail首先确定这个地址是用户名(tom)+机器名(example.com)的格式然后通过查询DNS来确定需要把信件投递给某个服务器。DNS数据中与电子邮件相关的是MX记录例如在example.com这个域的DNS数据文件中有如下设置:INMX10mailINMX20mail1mailINA202.99.11.120mail1INA202.99.11.121显然在DNS中说明example.com有两个信件交换(MX)服务器于是sendmail试图将邮件发送给两者之一。一般来说排在前面的的MX服务器的优先级别比较高因此服务器将试图连接mail.example.com的25端口试图将信件报文转发给它。如果成功你的smtp服务器的任务就完成了在这以后的任务将由mail.example.com来完成。在一般的情况下mail换器会自动把信件内容转交给目标主机不过也存在这样的情况目标主机(比如example.com)可能并不存在或者不执行smtp服务而是由其mx交换器来执行信件的管理这时候最终的信件将保存在mx机器上直到用户来察看它。如果DNS查询无法找出对某个地址的MX记录(通常因为对方没有信件交换主机)那么sendmail将是试图直接与来自邮件地址的主机对话并且发送邮件。二、Sendmail的配置文件sendmail安装完毕后具有多个配置文件所有文件都旋转在/etc/mail目录下.其中主配置文件为/etc/mail/sendmail.cf与它存放在同一目录下的许多文件都具有重要功能如下所示:/etc/mail/accesssendmail访问数据库文件/etc/aliases邮箱别名/etc/mail/local-host-namessendmail接收邮件主机列表/etc/mail/submit.cf/etc/mail/submit.mcsendmail辅助配置文件/etc/mail/mailertable邮件分发列表/etc/mail/virtusertable虚拟用户和域列表三、搭建sendmail服务器1)Sendmail服务器的网络配置:服务器IP地址是192.168.1.110;DNS服务已经启动并可以解析example.com域名;具体操作如下图所示:2)安装sendmail所需软件:sendmail的主程序包sendmail-8.13.8默认已经安装sendmail-cf程序是为了以后使用m4命令生成sendmail的主配置文件dovecot程序主要负责接收邮件但该程序包与mysql-5、perl-DBI程序有依赖关系所以安装该程序包时也必须安装mysql-t和perl-DBI。具体操作如下图所示:Sendmail所需软件安装完毕后需要