Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务。而且几乎所有的编程语言都支持发送和接收电子邮件。
1、邮件的原理
1.1、邮件的发送流程
假设我们要把邮件从me@163.com 发送到 @sina.com
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、编写邮件程序的本质
编写MUA把邮件发到MTA;
编写MUA从MDA上收邮件。
1.3、邮件传输使用的协议
MUA和MTA,MTA和MTA间使用的是SMTP协议【Simple Mail Transfer Protocol】
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)
原文地址:http://blog.51cto.com/12758568/2117230