前文演示了通过Samba和NFS实现文件共享,本篇演示使用Postfix和Dovecot在局域网实现电子邮件收发系统。
电子邮件系统是我们日常生活和工作中非常重要的一个网络服务,在windows下收发电子邮件系统工具很多,相信大家一定接触过,比如qq邮箱、163邮箱等等。本文讲解在Linux下通过部署Postfix和Dovecot来实现电子邮件的收发。
大家今天熟知的互联网起源于美国的ARPANET科研项目,这是20世纪60年代美国国防部发起的科研项目。阿帕网是当今互联网的雏形,它也是世界上第一个运营的封包交换网络。
在阿帕网发展几年之后,到1971年遇到了严峻的问题,当时参与该项目的科学家分布在美国的不同地区,并且不同地区存在时差,这就导致了不能及时分享各自的科研成功,因此需要一种能够借助网络在计算机之间传输数据的方法。
看到这里估计很多同学懵圈了,前文不是才讲了ftp文件传输以及文件共享吗?是的,他们虽然可以实现文件的传输,但是使用场景却不一样,他们就像打电话一样,需要服务器和客户端同时在线才能完成数据传输。手机上的语音信箱相信大家用过吧?邮件系统就类似语音信箱,即使你手机没电或关机了,等你再次开机的时候,你仍然可以第一时间收到语音留言。
基于这种背景,当时参与阿帕网项目的成员中有一位来自麻省理工大学的教授,用了近一年时间完成了电子邮件的设计,在1971年秋通过sndmsg软件向自己的另外一台计算机发出了人类历史上第一封电子邮件。
就像平时收发快递一样,电子邮件要准确发送给他人,那就需要对方提供明确唯一的收件地址。设计者规定电子信箱格式为“姓名@计算机主机名称”,它选择@符号作为间隔符的原因是,设计者认为人类的额名字和计算机主机名字中应该不会包含@这个特殊字符。
这很好理解,比如我们平时见到的邮箱:xxxx@qq.com、xxx@163.com等等。
电子邮件系统基于邮件协议来完成电子邮件的传输,常见邮件协议有:SMTP、POP3、IMAP4等。
SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,用于发送和中转发出的电子邮件,占用TCP端口25。
POP3(Post Office Protocol 3):邮局协议版本3,用于将电子邮件存储到本地主机,占用TCP端口110。
IMAP4(Internet Message Access Protocol 4):Internet消息访问协议版本4,用于在本地主 机上访问邮件,占用TCP端口143。
电子邮件在传输过程中涉及到几个角色:MUA、MTA、MDA。
MUA(Mail User Agent):邮件用户代理,作用是替用户收发邮件的服务器。
MTA(Mail Transfer Agent):邮件传输代理,作用是转发处理不同电子邮件服务供应商之间的邮件,把来自于 MUA 的邮件转发到合适的 MTA 服务器。
MDA(Mail Delivery Agent):邮件投递代理,作用是把来自于MTA的邮件保存到本地的收件箱中。
举个例子,假设你用一个新浪信箱给一个谷歌信箱发送一封电子邮件,其传输过程如下图:
如前所述,电子邮件系统不同于文件传输需要双方同时保持在线,当用户发送邮件后,无需等待投递工作完成就可以下线。上图中假设如果对方邮件服务器(谷歌的MTA)宕机或离线,则发件服务器(新浪的MTA)就会把要发送的内容自动暂时保存到他本地,等检测到对方邮件服务器恢复后再次投放,随后收件人(MUA)就能在自己的邮箱中找到这封邮件了。
一个最基础的电子邮件系统至少要能提供发件服务和收件服务。在Linux下使用基于SMTP协议的Postfix服务程序来提供发件服务功能,使用基于POP3协议的Dovecot服务程序提供收件服务功能。部署Postfix和Dovecot服务程序后,就可以使用邮件客户端(如Foxmail、Outlook等)进行收发邮件。
在RHEL5、6及早期的Linux系统中,默认的发件服务是Sendmail,在RHEL7系统中替换成了Postfix。相对而言Postfix在稳定性、并发性方面有了很大改进,并且减少了很多不必要的配置步骤,使用更简单。
(1)主机及网络规划
开始之前我们邮件系统规划如下:
主机名称操作系统IP地址电子邮件系统及DNS服务器Centos7192.168.0.101客户端主机(outlook)win7192.168.0.111客户端主机(foxmail)win10192.168.0.112
域名采用http://heimatengyun.com (由于此演示是在局域网,自己单击DNS服务器,因此域名可以任意写一个)
Centos7是虚拟机,win10是虚拟机的宿主机,win7是另外一台物理机,他们之间组成一个局域网。虚拟机centos7作为电子邮件系统以及DNS服务器,设置其网络模式为:桥接模式,目的是直连主机物理网络,以此构成一个局域网。
(2)电子邮件系统基础架构
如1.2.4所述,我们采用Postfix和Dovecot来搭建一个基础的电子邮件系统,其工作流程如下:
通常情况下,我们的邮箱地址看起来应该形如:test@heimatengyun.com 也就是按照“用户名@主机地址或域名”的格式来进行规范。
为了提高可读性不直接采用形如:test@192.168.0.1这种ip地址的形式。这种ip地址的方式一是因为不容易记住,另外还容易产生误解(看起来有点像SSH远程连接的地址),因此我们还需要先部署bind服务程序来为电子邮件服务器和客户端提供NDS域名解析服务。
下边就来演示下bind服务程序的配置及管理
需要保证centos服务器主机名称与发信域名保持一致
[root@email ~]# hostnamectl set-hostname mail.heimatengyun.com
[root@email ~]# hostname
mail.heimatengyun.com
[root@mail ~]# cat /etc/hostname
mail.heimatengyun.com
[root@mail ~]#
<< · Back Index ·>>
上一篇
这次文章的内容主要是对比一下几支不同年代146,看看他们之间有什么不同,年代从远到近分别是14C、14k、T舌、现产(P146), ...
工欲善其事,必先利其器。 周末趁著闲暇,给大家整理了一份股票、基投资找工具网站。 看行情、找资讯、逛论坛,看财报、看研 ...