邮件服务相关

MUA:邮件用户代理; 指的就是如Foxmail,outlook,等邮件客户端程序。
MDAMail Delivery Agent):邮件投递代理主要的功能就是将MTA接收的信件依照信件的流向(送到哪里)将该信件放置到本机账户下的邮件文件中(收件箱),或者再经由MTA将信件送到下个MTA。如果信件的流向是到本机,这个邮件代理的功能就不只是将由MTA传来的邮件放置到每个用户的收件箱,它还可以具有邮件过滤(filtering)与其他相关功能

MTAMail Transfer Agent):MUA是用在Client端的软件,而MTA是用在邮件主机上的软件,它也是主要的邮件服务器。MTA就是邮件传送代理的意思,既然是 传送代理,那么用户寄信与收信时,都找MTA就对了!因为它负责帮用户传送。基本上,MTA的功能如下。
接收外部主机寄来的信件:既然是邮件主机,接收信件自然是主要功能,只要这个信件里有MTA内部账号,这封信就会被MTA收下来;
帮用户发(寄出)信:既然可以收信,自然也可以发信,只要用户具有合法的使用MTA的权力,就可以利用这台MTA主机把信传送出去!不过要注意,MTA会将信件送给目的地的MTA而不是目的地的MUA。不要搞错了!
====================================

一封邮件投 递过程:(很形象吧

一人使用MUA发一封邮件给xx@yy.comMUA首先连接邮件提供商的MTA,认证通过后,MDA开始判断这个邮件将投递到哪里?如果是本域,则将该邮件投递到本域用户的收件夹,如果是另外一个邮件域,则将其投递到对方的MTA上,最终xx@yy.com使用MUA收取这封邮件。



在了解了电子邮件服务工作的原理之后,我们就一起来搭建sendmail服务器器。

系统是RedHat Enterprise Linux5.5.

在搭建之前先来了解一下sendmail服务器架设之中涉及到的各种文件以及文件夹和位置

sendmail.cfsendmail核心配置文件,位于/etc/mail/sendmail/sendmail.cf

sendmail.mcsendmail提供sendmail文件模板,通过编辑此文件后再使用m4工具将结果导入sendmail.cf完成配置sendmail核心配置文件,降低配置复杂度,位于/etc/mail/sendmail.mc

local-host-name:定义收发邮件服务器的域名和主机别名,位于/etc/mail/local-host-name

access.db:用来设置sendmail服务器为哪些主机进行转发邮件,位于/etc/mail/access.db

aliases.db:用来定义邮箱别名,位于/etc/mail/aliases.db

virtusertable.db:用来设置虚拟账户,位于/etc/mail/virtusertable.db

知道了这些东西之后我们就来以一个实例讲解LinuxSendmail服务器的搭建

项目案例: (同一局域网中同一域名

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服

  如上图:局域网网段:192.168.16.0/24

          域名: zhaoyuqiang.com

          DNSSendmail服务器地址:192.168.16.1

Sendmail服务器和DNS是密不可分的。我们这唉配置Sendmail之前需要先配置好DNS的相关服务

DNS的配置请参考http://zhaoyuqiang.blog.51cto.com/6328846/1199421

一:配置DNS服务器

(此部分简写,不会的请参考http://zhaoyuqiang.blog.51cto.com/6328846/1199421

1. 安装DNS

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_02

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_03

2.启动服务器器

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_04

3.编辑修改named.conf文件

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_05

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_06

3.配置主配文件

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_07

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_08

4.配置zhaoyuqiang.com正向区域文件

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_09

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_10

5.配置zhaoyuqiang.com反向区域文件

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_11

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_12

6.重新启动DNS服务器

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_13

配置好DNS后要更改一个地方,如下

 键入命令 : vim  /etc/resolv.conf

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_14

二:安装Sendmail软件包

(从此部分开始配置Sendmail服务器)

 先来看一下Sendmail服务器用到的安装包

sendmail-8.13.8-2.el5.i386.rpm:sendmail服务的主程序包,服务器端必须安装该软件包。
sendmail-cf-8.13.8-2.el5.i386.rpm:sendmail宏文件包
sendmail-devel-8.13.8-2.el5.i386.rpm:sendmail服务器开发工具软件包
sendmail-doc-8.13.8-2.el5.i386.rpm:sendmail服务器的说明文档
m4-1.4.5-3.el5.1.i386.rpm:宏处理过虑软件包
dovecot-1.0-1.2.rc15.el5.i386.rpm:接收邮件软件包,安装时需要注意安装顺序

sendmail-8.13.8-2.el5.i386.rpm这个包是默认安装的,我们只需要安装sendmail-cf-8.13.8-2.el5.i386.rpm这个包就可以了

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_15

三:编辑sendmail.mc

  配置邮件服务器需要更改IP地址为0.0.0.0,这样可以扩大侦听范围(一般都是这样设置的),如果侦听范围小了,邮件服务器是无法正常发送邮件的。

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_16

进入之后将第116行的smtp侦听范围从127.0.0.1改成0.0.0.0

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_17

将第155行修改成自己的域: zhaoyuqiang.com

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_18

修改完成后使用m4工具重定向到sendmail.cf文件。(Sendmail.cf 是核心配置文件,但是这个文件的内容看不懂,是天书。所以用修改Sendmail.mc文件来修改Sendmail.cf文件,然后用m4工具重定向到Sendmail.cf,这样就OK了)

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_19

四:修改local-host-names文件添加域名和主机名

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_20

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_21

Sendmail服务器配置到这个地方基本就完成了,可以完成邮件的发送的工作,之后,我们需要接受邮件。 用到了POP3协议,需要安装Dovecot包。

五:安装Dovecot软件包(POP3接受)

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_22

  注意包之间的依赖关系

六:配置服务器的IP地址

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_23

七:重启各种服务器

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_24

八:测试端口

在配置完所有的东西之后我们就需要测试一下了,但是我们先来测试一下端口是否都已经侦听了。

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_25

验证SendmailSMTP认证功能

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_26

25110143号端口的确都已经打开了 ,之后就我们的测试了。

测试:(telnet登录服务器,并发送和接受邮件)

限于设备的原因,我们这儿的测试就用telnet登录服务器来测试一下。既然用到了telnet,我们就要安装telnet服务器。

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_27

安装好之后,我们需要启动Telnet服务。

在激活Telnet服务之前,先做两件事:如下  

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_28

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_29

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_30

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_31

启动服务器

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_32

弄好telnet之后,查看一下23号端口是否打开。

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_33

   现在服务器都正常了,还缺少的是用户,既然我们要测试,少不了要两个用户了。那就来创建用户吧  顺便给用户添加一个密码。

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_34

 用户创建好后就来测试吧!

发送邮件

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_35

  发送完之后,我们看看liuqi同学能否接受到来自songtianpeng同学的信件。

Linux攻略---Sendmail邮件服务器搭建及测试_Linux Sendmail DNS 服_36

 哈哈 我们的liuqi童鞋确实是受到信件。

整个服务器就搭建完了。

 需要注意的是:配置文件要仔细写 ,要重新启动各种服务器。