简介
电子邮件系统是目前Internet上通用的标准,由于具有完善的设计架构,因此可兼容来自不同平台、服务器或应用程序间的信息交换。它的主要优点有:快速:电子邮件寄出后,收件人能在短时间内得到这份邮件。经济:它不需要使用信封和信纸,也不需邮资。多样性:除了文本之外,电子邮件还可传送图片、声音、影像和其他类型的数据。
专有名词
邮件传输代理
邮件传输代理(Mail Transfer Agent,MTA)是一种在服务器端执行的软件,也就是邮件服务器,它可在服务器间传送电子邮件。一般而言,每个系统只有一个MTA保持在运行状态,而在UNIX系统中使用最为广泛的MTA程序有Sendmail、Postfix、Qmail与Fetchmail等。
邮件用户代理
邮件用户代理(Mail User Agent,MUA)是一种客户端软件,它可提供用户读信、回信、写信及处理邮件等功能,但和MTA不同的是,一个系统中可以同时存在多个MUA程序。一般常见的MUA程序包括Linux平台上的mail、mailx、elm和mh等,以及Windows操作系统中的Outlook Express或Netscape Messenger。
邮件传递代理
邮件传递代理(Mail Delivery Agent,MDA)通常与MTA一同运行,将MTA接收的邮件,按照目的位置做出判断,以决定将该邮件放在本机账户下的邮箱,或是再经过MTA将此邮件转发到下个MTA,而MDA一般都在后台执行。
如果此封邮件的目的地为本机用户邮箱,则MDA除了将邮件放在正确的邮箱外,同时还具有邮件过滤的功能。
邮件传递系统
由MTA和MUA组合而成的系统称为邮件传递系统(Mail Transfer System,MTS)
案例
实验拓扑图
实验目的:
有两台邮件服务器mail.163.com和mail.sina.com,使连接这两台邮件服务器的四台主机之间可以自由的发送接收邮件。
实验步骤
在163.com服务器上的配置
修改机器名
[root@localhost ~]# vim /etc/sysconfig/network
HOSTNAME=mail.163.com
1.安装dns服务器
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]# cd /mnt/cdrom/Server
[root@localhost Server]# rpm -ivh bind-
bind-9.3.6-4.P1.el5.i386.rpm bind-libs-9.3.6-4.P1.el5.i386.rpm
bind-chroot-9.3.6-4.P1.el5.i386.rpm bind-sdb-9.3.6-4.P1.el5.i386.rpm
bind-devel-9.3.6-4.P1.el5.i386.rpm bind-utils-9.3.6-4.P1.el5.i386.rpm
bind-libbind-devel-9.3.6-4.P1.el5.i386.rpm
[root@localhost Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm
warning: bind-9.3.6-4.P1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:bind ########################################### [100%]
[root@localhost Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm
warning: bind-chroot-9.3.6-4.P1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:bind-chroot ########################################### [100%]
[root@localhost Server]#
[root@localhost Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm
warning: caching-nameserver-9.3.6-4.P1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:caching-nameserver ########################################### [100%]
[root@localhost Server]#
[root@localhost Server]# cd /var/named/chroot/etc/
[root@localhost etc]# ll
总计 16
-rw-r--r-- 1 root root 405 08-20 21:25 localtime
-rw-r----- 1 root named 1230 2009-07-30 named.caching-nameserver.conf
-rw-r----- 1 root named 955 2009-07-30 named.rfc1912.zones
-rw-r----- 1 root named 113 08-20 21:53 rndc.key
[root@localhost etc]# cp -p named.caching-nameserver.conf named.conf
[root@localhost etc]# vim named.conf
[root@localhost etc]# vim named.rfc1912.zones
加入下列几行
21 zone "163.com" IN {
22 type master;
23 file "163.com.zone";
24 allow-update { none; };
25 };
生成163.com.zone文件
[root@localhost named]# cp -p localhost.zone 163.com.zone
[root@localhost named]# vim 163.com.zone
做dns指向
[root@localhost named]# vim /etc/resolv.conf
[root@mail ~]# service named restart
停止 named: [确定]
启动 named: [确定]
2.配置sendmail服务器
安装sendmail-cf-8.13.8-2.el5.i386.rpm
[root@mail Server]# rpm -ivh sendmail-cf-8.13.8-2.el5.i386.rpm
warning: sendmail-cf-8.13.8-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:sendmail-cf ########################################### [100%]
[root@mail Server]#
[root@mail ~]# cd /etc/mail
[root@mail mail]# ll
总计 244
-rw-r--r-- 1 root root 355 2006-11-28 access
-rw-r----- 1 root root 12288 2012-08-21 access.db
-rw-r--r-- 1 root root 0 2006-11-28 domaintable
-rw-r----- 1 root root 12288 2012-08-21 domaintable.db
-rw-r--r-- 1 root root 5521 2006-11-28 helpfile
-rw-r--r-- 1 root root 64 2006-11-28 local-host-names
-rw-r--r-- 1 root root 0 2006-11-28 mailertable
-rw-r----- 1 root root 12288 2012-08-21 mailertable.db
-rw-r--r-- 1 root root 1048 2006-11-28 Makefile
-rw-r--r-- 1 root root 58205 2012-08-21 sendmail.cf
-rw-r--r-- 1 root root 7209 2006-11-28 sendmail.mc
-r--r--r-- 1 root root 41286 2006-11-28 submit.cf
-rw-r--r-- 1 root root 940 2006-11-28 submit.mc
-rw-r--r-- 1 root root 127 2006-11-28 trusted-users
-rw-r--r-- 1 root root 0 2006-11-28 virtusertable
-rw-r----- 1 root root 12288 2012-08-21 virtusertable.db
修改默认监听端口默认监听地址
[root@mail mail]# vim sendmail.mc
[root@mail mail]# vim access 起到中继的作用 使起可以向不同的域发送邮件
[root@mail mail]# vim local-host-names 存放本地域
[root@mail ~]# service sendmail restart
3.安装dovecot邮件接收服务器
[root@mail Server]# rpm -ivh perl-DBI-1.52-2.el5.i386.rpm
warning: perl-DBI-1.52-2.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:perl-DBI ########################################### [100%]
[root@mail Server]# rpm -ivh mysql-5.0.77-3.el5.i386.rpm
warning: mysql-5.0.77-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:mysql ########################################### [100%]
[root@mail Server]# rpm -ivh dovecot-1.0.7-7.el5.i386.rpm
warning: dovecot-1.0.7-7.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:dovecot ########################################### [100%]
[root@mail Server]#
[root@mail Server]# service dovecot start
启动 Dovecot Imap: [确定]
[root@mail Server]#
两台服务器的配置基本上是一样的,对于sina.com的配置我们这里就不一一列出了。
4.测试
同一个域的两台主机进行邮件的发送接收
不同域的两台主机进行邮件的发送接收
在前面的过程中我们可以看出,任何帐号都可以进行邮件的发送和接受,为了是邮件服务器可以更好的运行,我们可以使用sasl来进行加密。
利用sasl进行身份验证
必须要进行身份验证,不然无法发送邮件
把字符转换为base64编码
帐号 口令
开始发信
接收信件成功