我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux中Postfix邮件原理分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux中Postfix邮件原理分析

这篇文章将为大家详细讲解有关Linux中Postfix邮件原理分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

邮件相关协议

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议, 工作在TCP的25端口。它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。跟名字一样smtp非常简单,无法做到认证,邮件存放等功能。

POP3(Post Office Protocol)邮局协议第3版,工作在TCP的110端口。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是PC机或 MAC。一旦邮件发送到 PC 机或MAC上,邮件服务器上的邮件将会被删除。但目前的POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议。

IMAP4(Internet Mail Access Protocol)因特网邮件访问协议第4版,工作在TCP的143端口。IMAP4协议与POP3协议一样也是规定个人计算机如何访问网上的邮件的服务器进行收发邮件的协议,但是IMAP4协议同POP3协议相比更高级。IMAP4支持协议客户机在线或者离开访问并阅读服务器上的邮件,还能交互式的操作服务器上的邮件。IMAP4协议更人性化的地方是不需要像POP3协议那样把邮件下载到本地,用户可以通过客户端直接对服务器上的邮件进行操作(这里的操作是指:在线阅读邮件 在线查看邮件主题 大小 发件地址等信息)。用户还可以在服务器上维护自己邮件目录(维护是指移动)新建 删除重命名共享 抓取文本 等操作)。IMAP4协议弥补了POP3协议的很多缺陷。

Linux中Postfix邮件原理分析

邮件相关名词

一般情况下,我们把电子邮件程序分解成传输代理,投递代理用户代理。用户代理用来接受用户的指令,将用户的信件传送至信件传输代理.而投递代理则从信件传输代理取得信件传送至最终用户的邮箱.当用户试图发送一封电子邮件的时候,他并不能直接将信件发送到对方的机器上,用户代理必须试图去寻找一个信件传输代理,把邮件提交给它。信件传输代理得到了邮件后,首先将它保存在自身的缓冲队列中,然后,根据邮件的目标地址,信件传输代理程序将找到应该对这个目标地址负责的邮件传输代理服务器, 并且通过网络将邮件传送给它。对方的服务器接收到邮件之后,将其缓冲存储在本地,直到电子邮件的接收者查看自己的电子信箱。

MTA(Mail Transfer Agent)

邮件传输代理工具,通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。常用的MTA有:

SendMail:邮件的鼻祖。Qmail:一个数学家开发,作为Linux下面主流的邮件系统内核,大量著名的商业邮件系统都是在Qmail内核下开发,比如Hotmail。Postfix:IBM安全专家开发,模块化设计,并且比sendmail兼容效率更高。Exim:是基于GPL协议的开放源代码软件,由英国剑桥大学的Philip Hazel开发。Exchange:微软公司的一套电子邮件服务组件,是个消息与协作系统。

MDA(Mail Delivery Agent)

邮件投递代理,投递代理则从信件传输代理取得信件传送至最终用户的邮箱。常用的MDA有:

ProcMail:Postfix默认的邮件投递工具。MailDrop:相对比较专业的投递代理工具。

MRA(Mail Retrieval Agent)

邮件取回代理,使用POP3或IMAP4协议工作。一般用于从用户信箱取回邮件到邮件用户代理客户端。常用的MRA有:

Dovecot:是一个开源的支持IMAP和POP3协议的收邮件服务器(自带SASL功能)。

MUA(Mail User Agent)

邮件用户代理工具。常用的MUA有:

OE:Windows旧版本自带的工具。Outlook:Office套件带的工具。FoxMail:腾讯公司的邮件客户端工具。Thunderbird:雷鸟是Linux下的客户端工具。Mutt:Linux下的字符界面客户端工具。

WebMail

基于Web的电子邮件收发系统,扮演邮件用户代理角色,一般而言,WebMail系统提供邮件收发、用户在线服务和系统服务管理等功能。WebMail的界面直观、友好,不需要借助客户端,免除了用户对E-mail客户软件(如:Foxmail、Outlook等)进行配置时的麻烦,只要能上网就能使用WebMail,方便用户对邮件进行接收和发送。WebMail使得E-mail在Internet上的应用广泛。常用的Webmail有:

Openwebmail:台湾开发的。Squirrelmail:Centos系统自带。Extmail,Extman:国内开发的也被称为EMOS系统。

Mail Relay

邮件中继,先要明白一个概念,一封邮件只要不是发送给本域内用户的,比如从当前域发送到另一个域,或从当前域发送到另一个域然后转到另外一个域的,这就属于中继。但是一般邮件服务器都会允许本地或本域内的用户进行中继。不然就只能在本域内发送邮件而不能给外部邮箱发送邮件。Postfix默认只能基于IP地址做中继认证。

SASL(simple authentication secure layer)

简单认证安全层,是一种用来扩充C/S模式验证能力的机制。在Postfix可以利用SASL来判断用户是否有权使用转发服务,或是辨认谁在使用你的服务器。

常用的Sasl有

cyrus-sasl:Redhat系列自带的SASL认证框架。dovecot-sasl:dovecot组件带的SASL认证框架。courier-authlib:这是一个带有MTA,MDA以及SASL认证的软件,但是一般只是用它的SASL功能。

Postfix介绍

Postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。是为了改良sendmail邮件服务器而产生的。其特点:

1. postfix是免费的:postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。2. 更快:postfix在性能上大约比sendmail快三倍。一部运行postfix的台式PC每天可以收发上百万封邮件。3. 兼容性好:postfix是sendmail兼容的,从而使sendmail用户可以很方便地迁移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。4. 更健壮:postfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。5. 更灵活:postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。6. 安全性:postfix具有多层防御结构,可以有效地抵御恶意入侵者。如大多数的postfix程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。

Postfix服务器工作原理

Linux中Postfix邮件原理分析

邮件服务器工作在两种情况下:一种是相同域内转发;二是不同域内转发。所以MTA(postfix)内部一般都会有服务端(smtpd)、客户端(smtp)和MDA。smtpd邮件服务器非常简单,只负责转发邮件别的什么功能也没有并且发送方不管是什么地址都可以从smtpd服务器转发到目标地址。

邮件服务器两种工作机制

相同域内转发:用户A通过工具连接到SMTPD服务端,然后发送一份邮件,而目标收件人是B用户。当SMPTD收到邮件后判断发现是同域内的用户,就会直接启动MDA进程把邮件投进用户邮箱中,当用户通过MUA工具(如mail命令)就可以直接收到邮件。

不同域内转发:用户A通过工具连接到SMTPD服务端,然后发送一份邮件,而目标收件人是C用户。当SMPTD收到邮件后判断发现是不同域内用户,就会启动SMTP客户端来转发此邮件。SMTP收到请求后就会解析对方MX记录,然后连接对方SMTPD服务器并把邮件发送过去。当对方SMTPD发现此邮件就是本域内的邮件后也会调用MDA进程把邮件投递进用户邮箱中,当用户通过MUA工具(如mail命令)就可以直接收到邮件。

关于“Linux中Postfix邮件原理分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux中Postfix邮件原理分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux中Postfix邮件原理分析

这篇文章将为大家详细讲解有关Linux中Postfix邮件原理分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。邮件相关协议SMTP(Simple Mail Transfer Protocol)即简单邮件
2023-06-27

Postfix邮件原理是什么

今天小编给大家分享一下Postfix邮件原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。postfix是Wietse
2023-06-28

Linux中如何配置Postfix邮件发送

今天小编给大家分享一下Linux中如何配置Postfix邮件发送的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。部署DNS服务
2023-06-28

Linux中Postfix反病毒和垃圾邮件工具有哪些

这篇文章主要介绍了Linux中Postfix反病毒和垃圾邮件工具有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。amavisd-newamavisd-new呼叫器是一个连
2023-06-27

怎么在Linux中安装配置Postfix来搭建邮件发送服务

这篇文章主要介绍“怎么在Linux中安装配置Postfix来搭建邮件发送服务”,在日常操作中,相信很多人在怎么在Linux中安装配置Postfix来搭建邮件发送服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
2023-06-12

Linux中Postfix虚拟用户及虚拟域的示例分析

这篇文章主要为大家展示了“Linux中Postfix虚拟用户及虚拟域的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中Postfix虚拟用户及虚拟域的示例分析”这篇文章吧。Po
2023-06-05

linux系统管理mail电子邮件日志的示例分析

这篇文章主要为大家展示了“linux系统管理mail电子邮件日志的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux系统管理mail电子邮件日志的示例分析”这篇文章吧。我们都知道很
2023-06-13

spool命令在邮件内容处理中的作用分析

spool 命令在邮件内容处理中起到了关键的作用。它主要用于将用户终端上的输出暂存起来,而不是直接显示在屏幕上。这在处理大量数据或需要后续处理的邮件内容时非常有用。具体来说,spool 命令会将用户的输入或程序的输出先写入一个缓冲区,当缓
spool命令在邮件内容处理中的作用分析
2024-10-01

React中State的原理分析

这篇文章主要介绍了React中State的原理分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问题:setState 到底是同步还是异步的?如果对 React 底层有一定了
2023-06-26

js中Proxy的原理分析

这篇文章给大家分享的是有关js中Proxy的原理分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是代理模式引入一个现实生活中的案例我们作为用户需要去如何评估一个房子的好坏、如何办理住房手续等一些列繁琐的事物
2023-06-15

亚马逊服务器发送邮件失败原因分析

邮件账户问题:如果您的账户设置不正确,如没有收件人列表或邮件已满等,可能会导致邮件无法发送。邮件服务器故障:如果您的邮件服务器出现故障或维护,可能会导致邮件无法发送。邮件服务器配置问题:如果您的邮件服务器没有正确配置,或者您没有获得邮件服务提供商的许可,也可能会导致邮件无法发送。防病毒软件阻止邮件发送:如果您安装了防病毒软件,但防病毒软件阻止了邮件发送,可能会导致邮件无法发送。SMTP服务器配置错...
2023-10-27

亚马逊邮件服务器注册失败原因分析

账户信息错误:检查注册时所提供的用户名、密码、邮箱地址、验证码等信息是否正确。邮件服务器故障:邮件服务器可能已经宕机或不可用,这可能是由于邮件服务器配置不当、垃圾邮件过多、服务器维护等原因导致的。邮件内容有误:检查邮件内容是否符合用户需求,是否存在歧义、错误或者误导性的内容,这可能会导致用户对您的邮件服务产生质疑或者不满意。邮件发送频率过高:邮件发送频率过高可能会导致邮件服务器负载过重,从而导致邮...
2023-10-27

java中HashMap的原理分析

这篇文章主要介绍java中HashMap的原理分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以
2023-06-14

springboot中docker的原理分析

这篇文章主要介绍“springboot中docker的原理分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot中docker的原理分析”文章能帮助大家解决问题。一、添加maven配
2023-06-08

python中GIL的原理分析

小编给大家分享一下python中GIL的原理分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python是什么意思Python是一种跨平台的、具有解释性、编译性
2023-06-14

编程热搜

目录