电子邮件系统的组成架构
邮件系统架构的发展大致可分为三个阶段,tomlinson发一封邮件,他是怎样做的呢?软件要怎么来完成?
1、用户登录邮件服务器,编写邮件交给本地MTA
2、本地MTA通过查询收件方域名的MX记录获得对方邮件服务器的IP
3、本地MTA与收件方邮件服务器的MTA建立TCP连接,使用SMTP协议传输邮件
4、收件方邮件服务器MTA将邮件放入MS
随着技术的进步,由最初的简单的IMTA和IMSlMTA(Mail Transfer Agent)两大模块发展成如今的七大模块。如下图:
电子邮件的传输过程
发送方服务器把邮件传到收件方服务器,收件方服务器再把邮件发到收件人的邮箱中。更进一步的解释:首先, 写好的邮件发送后到达发送方的服务器,然后由邮件传输代理(MTA -- Mail Transport Agent),负责把邮件由一个服务器传到另一个服务器,然后, 邮件投递代理(MDA -- Mail Delivery Agent),把邮件放到用户的邮箱里。
电子邮件系统的主要组成部分
(1)邮件服务器
(2)邮箱
(3)电子邮件应用程序
各部分的作用
邮件服务器主要功能
(1)接收用户送来的邮件,并根据目的地址将其传送到对方的邮件服务器;
(2)接收从其他邮件服务器发来的邮件,并根据接收地址将其分发到用户邮箱中。
邮箱主要功能:为用户存储、接收电子邮件。邮箱是 私人的,拥有账号和密码属性,合法用户才能阅读邮箱中的邮件。
电子邮件应用程序主要功能
(1)创建和发送邮件;
(2)接收、阅读和管理邮件;
(3)附加功能:如通讯簿管理、收件箱助理及账号管理。
电子邮件,electronic mail,简称E-mail,标志是@,,又称电子信箱、电子邮政,电子邮件指用电子手段传送信件、单据、资料等信息的通信方法,通过网络的电子邮件系统,用户可以用非常低廉的价格、以非常快速的方式,与世界上任何一个角落的网络用户联系,这些电子邮件可以是文字、图象、声音等各种方式。
腾讯云的服务具体包括云服务器、云存储、云数据库和弹性web引擎等基础云服务。
云服务器(ElasticComputeService,ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务,其管理方式比物理服务器更简单高效,用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。云服务器帮助您快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本,使您能够更专注于核心业务的创新。
云存储是一种网上在线存储的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管公司运营大型的数据中心,需要数据存储托管的人,则通过向其购买或租赁存储空间的方式,来满足数据存储的需求。在后端准备存储虚拟化的资源,并将其以存储资源池的方式提供,客户便可自行使用此存储资源池来存放文件或对象。
腾讯云简介:
腾讯云是腾讯公司旗下的产品,为开发者及企业提供云服务、云数据、云运营等整体一站式服务方案。具体包括云服务器、云存储、云数据库和弹性web引擎等基础云服务;腾讯云分析(MTA)、腾讯云推送(信鸽)等腾讯整体大数据能力;以及QQ互联、QQ空间、微云、微社区等云端链接社交体系。
正是腾讯云可以提供给这个行业的差异化优势,造就了可支持各种互联网使用场景的高品质的腾讯云技术平台,腾讯公司成立16年,第一个产品QQ其实就是一朵云。从PC时代第一版的QQ到现在,腾讯云始终积极地探寻,从解决如何稳定服务、让用户的QQ不掉线;到解决如何满足用户越来越丰富的需求,更多的社交、更好玩的娱乐、更丰富的在线生活。
—腾讯云
以Richmail邮件系统为例,系统采用总线型的体系结构,由各个功能模块组成,主要分为七大模块,分别为MTA、POP、Webmail、MD、UD、MS及Admin管理功能模块,其共同完成电子邮件的分检、存储、发送、与用户的交互和邮件服务器系统管理维护等工作。
其中,MTA、Webmail、POP三个模块与用户交互,实现邮件系统的各种业务逻辑功能,称为邮件服务器系统的前端模块;MD、UD、MS三个模块主要实现前端功能模块与数据库之间的数据传输,称作后端模块;而Admin模块是系统监控管理模块。
适应大规模的分布式应用,各个服务模块可以安装在多台邮件服务器上,同时提供服务,组成高性能的电子邮件系统。
具有极佳的扩展性,可以根据企业应用需要,为邮件服务器系统增加扩展模块,以实现系统的功能扩展,还可以升级邮件服务器或者增加邮件服务器以提升系统的运行性能。
不是的,这个才是https://cloudtencentcom/。
不是的,这个才是https://cloudtencentcom/。
腾讯云为数百万的企业和开发者提供安全稳定的云计算服务,涵盖云服务器、云数据库、云存储、视频与CDN、域名注册等全方位云服务和各行业解决方案。
“腾讯云具体包括云服务器、云存储、云数据库和弹性web引擎等基础云服务;腾讯云分析(MTA)、腾讯云推送(信鸽)等腾讯整体大数据能力;以及QQ互联、QQ空间、微云、微社区等云端链接社交体系。”
云服务器又称云主机,云服务器是在云计算环境中运行的虚拟服务器,而不是物理服务器,通过互联网云计算进行一系列的远程操作。云服务器也是虚拟服务器的一种,只是相对比较高级,配置比较灵活,云服务器相对比较独立,拥有高度的运行环境。
效果截图
Sendmail :sendmail 是最古老的 MTA(Mail Transfer Agent,电子邮件系统)之一,最早它诞生的时候,Internet 还没有被标准化,当时主机之间使用的是 UUCP 技术来交换邮件。它被设计得比较灵活,便于配置和运行于各种类型的机器。
Qmail :qmail 是新生一代的 MTA 代表,它以速度快、体积小、易配置安装等特性而著称。作者 DJBernstein 是一个数学教授,富有传奇色彩。他于 1995 年开发 qmail,1996 年发布 070 版,并使用了多种当时比较先进的 技术,包括 Maildir,与 sendmail 单个 binary 不同的模块化设计,权限分离,以及使用了大量由他编写的配套工具,如 daemontool,ucsip-tcp 等。qmai迅速成为了 Internet 上最有名的 MTA,使用者众。
postfix :postfix如今已经独树一帜,流水线、模块化的设计,兼顾了效率和功能。灵活的配置和扩展,使得配置 postfix 变得富有趣味。其主要的特点是速度快、稳定,而且配置/功能非常强大,并和 sendmail 类似,提供了与外部程序对接的 API/protocol。尤其是配置部分,postfix 另一个优势是至今依然保持活跃的开发工作,而且稳步发展,适合高流量大负载的系统,扩充能力较强。本实验也是基于 postfix 服务器软件来实现。
邮件服务器基本的工作原理
MUA(Mail User Agent):向外发送邮件,以及提供用户浏览与编写邮件的功能。
MTA(Mail Transfer Agent):(可以理解为 smtpd 服务器)帮忙将用户的邮件传递出去或接收进来。
MDA(Mail Delivery Agent):将接收下来的邮件存放到对应用户邮筒当中的程序。通过分析 MTA 所收到邮件的表头或内容,来判断此邮件是属于哪个用户,然后决定将此邮件投递给哪个用户的邮筒里。
MRA(Mail Retrieval Agent):通过 MRA 服务器提供的邮政服务协议(POP)来接收自己的邮件。
邮件中继:
SMTPD 要支持邮件路由功能,需要打开 Open Relay 开放式中继。
SMTPD 是根据收件人判断邮件是否需要中继,而且只给指定的客户端中继。
注:当 DNS 上存在多个 MX 记录的主机这时就是根据 DNS 的邮件级判断了。DNS 上定义的值越小,其优先级越高。辅助交换器接受到邮件并不能保存邮件。而是这个辅助交换器会等到主邮件交换器空闲的时候把代替它接受下来的邮件在转给主邮件交换器。所以任何邮件处理都是主邮件交换器处理的。所以我们实际情况下,如果有 2 台服务器做邮件交换器,性能比较高的应该为主的。
安装配置过程中,postfix 通过 Internet 发送和接收 email,并存储在用户邮箱里。同时客户也可以通过 IMAP 或者 POP3 恢复他们的邮件。其中的客户认证是通过 Courier Authdaemon 模块的。下图表示出了这个过程:
出现安装界面时,首先按下 <tab> 键切换到确定,然后按下回车。
安装 postfix 的时候会问你安装的服务器类型,对于我们的需要,我们选择默认的 Internet Site,这是最符合我们的服务器类型,然后按下回车确认。
使用 vim 编辑配置文件:
大概在第 31 行,编辑 myhostname,修改为 myhostname = shiyanloucom。
然后我们把 alias_map 参数修改为 alias_maps = hash:/etc/postfix/virtual,之后会讲解 virtual 里面填写什么。
之后设置 mynetworks 段落,它定义可以使用这台服务器的主机,我们这里就用默认的本地地址。你也可设置为其他地址。
编辑完成后按下 Esc 键,输入 :wq 保存退出。
此命令创建了一个用户 master,其中 -d 和 -m 选项用来为登录名 master 产生一个主目录 /usr/master(/usr 为默认的用户主目录所在的父目录)。
我们编写之前设置的 virtual文件,这些邮箱地址是用来传送邮件的。
在这个文件里,我们将设置一个表,对应相关的邮件地址。
完成后保存关闭文件。
我们可以通过调用下面这个命令来实现我们的映射:
接着我们重启 postfix,完成我们的修改:
我们可以用 shiyanlou 这个账号给 master 这个账号发一封邮件。首先我们需要安装一个命令行收发邮件的软件 mailutils 。
写一封邮件
输入如下内容:
其中 -s 参数是指邮件的标题,< 后面是将要发送的邮件内容从 hellotxt 中重定向。这个命令如果正确执行不会有输出。
然后我们切换到 master 用户,查看我们的邮件。
按下回车建可以查看邮件内容,输入 quit 即可退出邮箱。
Linux 邮件服务器原理介绍,编译安装 Postfix 实现本地的邮件服务
Ubuntu 服务器指南-邮件服务-Postfix
how-to-run-your-own-mail-server-with-mail-in-a-box-on-ubuntu-14-04
0条评论