# 这是学习廖雪峰老师python教程的学习笔记


Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务。而且几乎所有的编程语言都支持发送和接收电子邮件。

1、邮件的原理

1.1、邮件的发送流程

假设我们要把邮件从me@163.com 发送到 @sina.com

image.png

MUA:Outlook或者Foxmail这类编写/发送/邮件的软件,被称为MUA【Mail User Agent——邮件用户代理】

MTA:Email服务提供商,比如网易、新浪等等就是MTA【Mail Transfer Agent——邮件传输代理】

MDA:长期保存邮件的地方即MDA【Mail Delivery Agent——邮件投递代理】。MDA会等待MUA来将邮件取到自己的电脑上

 

所以,一封电子邮件的旅程就是:

发件人 -> MUA -> MTA -> MTA -> 若干个MTA -> MDA <- MUA <- 收件人

1.2、编写邮件程序的本质

  1. 编写MUA把邮件发到MTA;

  2. 编写MUA从MDA上收邮件。

1.3、邮件传输使用的协议

  1. MUAMTAMTAMTA间使用的是SMTP协议【Simple Mail      Transfer Protocol】

  2. MUA和MDA使用的协议有两种

    • POP:Post Office       Protocol,目前版本是3,俗称POP3

    • IMAP:Internet Message Access       Protocol,目前版本是4,优点是不但能取邮件,还可以直接操作MDA上存储的邮件,比如从收件箱移到垃圾箱,等等

 

2、扩展文档

基础邮件原理(MUA,MTA,MDA) (https://blog.csdn.net/z59d8m6e40/article/details/72871485)