2019独角兽企业重金招聘Python工程师标准>>>

电子邮件,使用起来超简单,但它建立在一套比 Web 更复杂的规则之上。对大部分使用者而言,它的运作是透明的,这意味着无需了解它的工作原理就可以使用它。

而下面对电子邮件的简要介绍可以帮助用户了解电子邮件的基本原理。

电子邮件如何运行

电子邮件围绕着对电子信箱的运用而展开。当一封电子邮件被发送时,信息一个服务器接一个服务器地被传递,一直传到收件人的电子邮件服务器。更准确地说,信息被发送到负责传输邮件的服务器(被称为邮件传输代理(Mail Transport Agent,MTA)),经过若干 MTA 后,最终到达收件人的 MTA。在互联网上,MTA 之间使用 SMTP 协议进行通信,所以它们在逻辑上被称为 SMTP 服务器(有时也叫邮件发送服务器)。

接下来收件人的 MTA 会将电子邮件投递给邮件接收服务器(被称为邮件投递代理(Mail Delivery Agent,MDA)),MDA 会保存邮件并等待用户收取。有两个从 MDA 上取邮件的协议:

POP(Post Office Protocol),二者中较老的一个,用来取邮件,当然了,实际上是把服务器上的邮件复制一份。
IMAP(Internet Message Access Protocol),用来在多个邮件客户端之间协调邮件的状态(已读、已删、已移动)。通过 IMAP,每个操作都会保存到服务器,所以邮件的状态在各个地方是同步的。

因此,接收邮件的服务器根据所使用的协议被称为 POP 服务器或 IMAP 服务器。

用现实世界作比喻,MTA 扮演邮局,而 MDA 扮演信箱,MDA 存储邮件并等待收件人检查信箱。这意味着收件人不需要让发件人与收件人建立连接。

为避免人们的邮件被其他人看到,MDA 要验证用户名和密码才能访问。

收取邮件的工作由一个叫做邮件用户代理(Mail User Agent,MUA)的程序来完成。

若 MUA 是用户电脑或其他设备上的一个程序,则称它为邮件客户端(如 Mozilla Thunderbird,网易邮箱大师,foxmail,微软的 Outlook)。

若 MUA 是个网站,则称它为 webmail。

转载于:https://my.oschina.net/jthmath/blog/870440

电子邮件如何运行(MTA,MDA,MUA)相关推荐

  1. 邮件传输过程,MUA,MTA,MDA的概念

    邮件传输过程.MUA.MTA.MDA MUA outlook.thunderbird.Mac Mail.mutt MTA sendmail.postfix MDA procmail.dropmail ...

  2. 基础邮件原理(MUA,MTA,MDA)

    电子邮件基本概念: MUA(Mail User Agent)接收邮件所使用的邮件客户端,使用IMAP或POP3协议与服务器通信: MTA(Mail Transfer Agent) 通过SMTP协议发送 ...

  3. Pytho学习笔记:电子邮件1

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  4. [Python基础19]收发电子邮件

    发送电子邮件 从古代的八百里加急,到现在的电子邮件,邮件的发展见证了上下五千年的发展史,这些当然是废话,只是要说说邮件的重要性. 可常规的通信手段相比,尤其是在现在,电话.QQ.微信等等各种社交软件的 ...

  5. 我与python约个会:31.企业级开发进阶3.1:发送电子邮件

    从古代的八百里加急,到现在的电子邮件,邮件的发展见证了上下五千年的发展史,这些当然是废话,只是要说说邮件的重要性. 可常规的通信手段相比,尤其是在现在,电话.QQ.微信等等各种社交软件的兴起,比传统的 ...

  6. 基于SMTP协议的电子邮件客户端程序

    基于SMTP协议的电子邮件客户端程序 电子邮件的完整传输过程: ​ 发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA <- MUA ...

  7. Python电子邮件

    Python电子邮件 现在我们回到电子邮件,假设我们自己的电子邮件地址是me@163.com,对方的电子邮件地址是friend@sina.com(注意地址都是虚构的哈),现在我们用Outlook或者F ...

  8. Python基础-电子邮件-初识

    一封电子邮件的旅程就是: - 发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA <- MUA <- 收件人 MUA:Mail ...

  9. python学习——电子邮件

    Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务. 几乎所有的编程语言都支持发送和接收电子邮件,但是,先等等,在我们开始编写代码之前,有必要搞清楚电子邮件是如何在互 ...

  10. Python基础Pro | (17) 电子邮件

    本文取自廖雪峰Python教程,原文地址https://www.liaoxuefeng.com/wiki/1016959663602400. 目录 1. 前言 2. SMTP发送邮件 3. pop3收 ...

最新文章

  1. 「caffe速成」caffe图像分类从模型自定义到测试
  2. error: dereferencing pointer to incomplete type
  3. UVA11248 网络扩容(枚举割边扩充)
  4. 【区块链基础知识系列】 第8课 区块链之零知识证明
  5. 链表数据结构原理图/内存结构图/内存图
  6. JS:ES10新特性
  7. 百家与g对比oogle_如何在Java Web应用程序中集成G​​oogle reCAPTCHA
  8. php libev扩展使用
  9. UIAlertView用法
  10. js生成带log的二维码(qrcodejs)
  11. p750服务器配置信息,P750的一些配置
  12. Leetcode 781 森林中的兔子
  13. csgo怎么一直连接服务器失败,CSGO提示连接到官方任意服务器失败怎么办?
  14. Android使用marked.js渲染markdown文档
  15. 软件开发者的终极梦想:揭秘谷歌编程面试
  16. 优麒麟运行Linux软件,优麒麟Ubuntu Kylin特色应用软件下载
  17. 足球大数据分析大小球胜平负的技巧与实例附分析软件
  18. 指南|研控MCC系列运动控制卡测试软件(YK-Motion )使用手册
  19. C语言之tentative definition
  20. 记录一次在JavaWeb项目中,运行tomcat的时候,遇到XX程序包不存在的一系列排查问题。

热门文章

  1. 解读mpvue官方文档的Class 与 Style 绑定及不支持语法
  2. C# 尝试还原程序包时出错:找不到“XXXXX”版本的程序包“XXXXXX”
  3. php 写博客教程,最近写了一个博客程序: QuickBlog PHP 开源的一文多发系统
  4. kibana集成内部账号_揭开 Elasticsearch 中身份验证和授权的神秘面纱
  5. fatal: empty string is not a valid pathspec, please use . instead if you meant to match all paths
  6. Layer下拉框监听
  7. php xml与数组的转换函数
  8. py 操作Mysql数据库
  9. VC通过函数名调用DLL的标准范例
  10. 软件基本功:数组赋值,一定要对齐