admin管理员组

文章数量:1535841

2024年5月3日发(作者:)

12-电子邮件系统

第十二章 电子邮件系统

一、电子邮件系统概述

20世纪60年代正处在美苏两国的冷战时期,美国军方认为应该在科技技术上持续占据领先地位,这样有助于在未来

的战争中取得优势,因此便由美国国防部资助并发起了一项叫做ARPANET的科研项目,这项科研项目即是大家所熟知的阿

帕网计划,也就是当今互联网技术的雏形,阿帕网计划实现了人类首次意义上的封包交换网络,但很快在1971年就遇到

了严峻问题,如图所示,参于阿帕网科研项目的科学家工作在美国不同地区,甚至还因为时差的影响而不能及时的分享

各自的研究成果,因此科学家们迫切的需要一种能够借助于网络且建立在计算机之间的传输数据的方法。

虽然WEB网站服务或FTP文件传输服务也能够实现数据交换,但这些传输方式都要像打电话一样,双方都必须同时在

线才能完成传输工作,如果对方的主机宕机或科研人员临时离开,就有可能错过某些科研结果了。好在当时麻省理工学

院的Ray Tomlinson博士也参与到了阿帕网计划的科研项目中,他觉得有必要设计一种类似于“信件”的传输服务,准备

一个信箱,这样即便对方临时不在线也能够完成数据的接收,当对方上线后再来处理就可以了,于是Ray Tomlinson博士

用了将近一年的时间就完成了Email电子邮件的设计,并在1971年秋天使用SNDMSG软件向自己的另一台电脑发送出了人类

历史上第一封Email电子邮件,它标志着邮件系统在人类互联网中诞生了。

既然要在互联网中给其他人发送电子邮件,那么对方用户的昵称代号必须是具有唯一性的,否则这封邮件可能会同

时发给多个重名的用户,也或者干脆谁都收不到了。因此当时Ray Tomlinson博士决定选择用“姓名@电脑主机名称”的

格式来规范电子邮箱的名称,而选择用@符号做间隔符的原因其实也很简单,因为Ray Tomlinson博士觉得人类的姓名和

电脑主机名称中应该不会有这么一个@符号吧~所以具有了相对的唯一性,就选择了这个符号!~

电子邮件系统的传输基于邮件协议完成,常见的邮件协议包括SMTP简单邮件传输协议,用于发送和中转发出的电子

邮件,占用服务器的25/TCP端口号,POP3第三版邮局协议,用于将服务器上把邮件存储到本地主机,占用服务器的

110/TCP端口号,IMAP4第四版互联网信息访问协议,用于在本地主机上访问邮件,占用服务器的143/TCP端口号。

在电子邮件系统服务中用于为用户收发邮件的服务器被叫做MUA用户代理(Mail User Agent),另外既然电子邮件

系统能够让客户不在线的情况下依然可以完成数据传输,那肯定要有一个用于帮助用户临时保存邮件数据的“信箱”服

务器吧,这个用于保存用户邮件的服务器叫做MDA邮件投递代理(Mail Delivery Agent),它的工作主要是将来自于MTA

的邮件保存到本机的收件箱中,而不同的电子邮件服务供应商之间发送邮件还要经过MTA邮件传输代理(Mail Transfer

Agent)的转发处理,它的工作就是将来自于MUA的邮件转发至合适的MTA服务器中,例如从新浪邮箱发送一封邮件到谷歌

邮件,那么电子邮件传送到您手中大致经过了如下图所示的过程。

总结来说,一般的网络服务程序传输信息就像拨打电话一样,需要对方当前也保持在线,否则会报错连接超时,而

电子邮件系统的用户在发送邮件后就不必需要等待投递工作完成再下线,因为如果对方主机宕机或临时离开了,那么发

件服务器就会把要发送的内容自动的暂时保存到本地,检测到对方服务器恢复后会立即再次投递,这期间一般无需运维

人员操作。另外如果同学们有兴趣学完之后在生产环境中部署一个企业级的电子邮件系统,有四点需要注意的事项,首

先是反垃圾与反病毒模块,它能够很有效的阻止垃圾邮件或病毒邮件对企业邮箱的干扰,其次是邮件加密,有效保护企

业内邮件内容不被骇客盗取和篡改,而邮件监控审核模块则是很好的监管措施,有效的监控全体职员邮件内容中有无敏

感词,透露企业资料等违规行为,最后就是要强调下稳定性了,电子邮件系统的稳定性至关重要,运维人员应做到保证

电子邮件系统的稳定运行,并及时做好防范DDOS分布式拒绝服务攻击的准备。

一个最基础的电子邮件系统肯定要包括有发件服务和收件服务,因此咱们需要使用基于SMTP协议的Postfix服务程序

来提供发件服务功能,以及用基于POP3协议的Dovecot服务程序来提供收件服务功能,这样客户端在使用类似于OutLook

Express或Foxmail的客户端服务程序时就可以正常的收发信件了,电子邮件系统的工作拓扑如下图所示。

二、配置Postfix

1、Postfix在CentOS中应该是默认安装好的,如果没有安装,请安装对应软件包

[root@mail ~]# yum -y install postfix

2、修改Postfix配置文件

[root@mail ~]# vim /etc/postfix/

75行去掉注释并修改主机名

myhostname =

83行去掉注释并定义域名

mydomain =

99行去掉注释

myorigin = $mydomain

116行修改

inet_interfaces = all

164行添加

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

264行去掉注释并根据本地情况修改

mynetworks = 127.0.0.0/8, 192.168.115.0/24

419行去掉注释以使用Maildir

home_mailbox = Maildir/

574行添加

smtpd_banner = $myhostname ESMTP

将以下内容添加到文件末尾

限制邮件大小为10M

message_size_limit = 10485760

限制邮箱大小为1G

mailbox_size_limit = 1073741824

SMTP认证信息

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

smtpd_sasl_local_domain = $myhostname

本文标签: 邮件用户用于服务器