最近发现一个问题,苹果手机在设置邮箱服务器来获取第三方邮件时老是报错,没法正常获取邮件,我思考了一下,这其中确定是有缘由的,不多是手机软件的的问题,因而决定研究一下邮箱服务器的一些原理,解决这个看起来很基础的问题。web
所谓邮箱服务器即为网络上的客户端保存电子邮件(电子邮件)消息的远程或中央计算机称为邮件服务器。 邮件服务器能够分为两大类:传出邮件服务器和传入邮件服务器。传出邮件服务器称为SMTP或简单邮件传输协议服务器。传入邮件服务器有两种主要类型。POP3或邮局协议版本3服务器以在PC本地硬盘上存储已发送和已接收的消息而闻名。 IMAP或Internet消息访问协议服务器始终在服务器上存储消息副本。浏览器
若是没有这一系列的邮件服务器,您只能向电子邮件地址域与您本身的电子邮件地址匹配的人发送电子邮件。即,您只能将一个example.com账户的邮件发送到另外一个example.com账户。服务器
再结合下来进一步理解,MTA充当邮局(分拣区域和邮件承运商),处理邮件传输,而MDA充当邮箱,邮箱存储邮件(只要其容量容许),直到收件人拿走它。 使用称为MUA(邮件用户代理)的软件程序来检索邮件。当MUA是安装在用户系统上的程序时,它被称为电子邮件客户端。当它是用于与传入邮件服务器交互的Web界面时,它被称为webmail,这里的MUA与上图的UA是一个概念。 网络
下面来详细看一下用户发送与邮件接收的过程:工具
上文讲到了邮件服务器能够分为两大类:传出邮件服务器和传入邮件服务器。其中传出服务器采用的协议为SMTP,传入服务器采用的协议有POP3和IMAP两种。下面依次进行介绍。网站
SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,经过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。google
SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。加密
SMTP一般用于在Internet端口25上运行。在欧洲普遍使用的SMTP的替代方案是X.400。 许多邮件服务器如今支持扩展简单邮件传输协议(ESMTP),它容许多媒体文件做为电子邮件传递。3d
SMTP有认证,简单地说就是要求必须在提供了帐户名和密码以后才能够登陆 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。代理
本质上来讲,SMTP(简单邮件传输协议)是用于发送和接收电子邮件的TCP / IP协议。 理论上,SMTP能够经过TCP,UDP或某些第三方协议来处理。但若是你在邮件中间丢失了几个数据包,则收件人可能甚至不会收到该邮件,若是他们这样作,则可能会丢失密钥信息。 这使TCP更合适,由于它确保每一个数据包都已传送。
SMTP的通讯端口分为两种,一种是不支持加密的,邮件是明文传输,端口号为25,此端口主要用于SMTP中继。 SMTP中继是从电子邮件服务器到电子邮件服务器的电子邮件传输。 另外一种是加密端口,这里的加密指的是邮件通讯会经过SSL/TLS加密传输,关于SSL/TLS更多请查看ssl/tls是什么?是怎么工做的?,此端口通常使用465端口,虽然端口465从未做为IETF的官方SMTP传输或提交渠道发布,但互联网号码分配机构(IANA)负责维护大部分核心互联网基础设施,为SMTPS注册了465端口。
POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将我的计算机链接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3容许用户从服务器上把邮件存储到本地主机(即本身的计算机)上。就像邮局职员的实体版本同样,POP3接收并保留我的的电子邮件,直到他们拿走它为止。
POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。
POP3有两种工做方式:删除方式和保存方式,能够在客户端进行设置。删除方式就在每一次读取邮件后就把邮箱中的这个邮件删除, 保存方式就是在读取邮件后仍然在邮箱中保存这个邮件,该方式是经过对以前的POP3工做方式(即删除)的缺点进行弥补,对功能进行扩充。
POP3的优势在于它很简洁,能够以最少的错误来完成工做,但同时缺点就是它只适合那些使用单个设备检索邮件的人,若是使用删除模式服务端是没有备份邮件的,单个设备下载后其他登录的设备就没法再进行下载了,若是设置了保存模式能够弥补这个缺点。
POP3端口也分为SSL/TLS加密端口995,和不加密端口110。
IMAP全称是Internet Mail Access Protocol,即交互式邮件存取协议,它是跟POP3相似邮件访问标准协议之一。
IMAP4服务器则是遵循IMAP协议的接收邮件服务器,用来接收电子邮件的。
不一样的是,开启了IMAP后,你在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操做都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会作相应的动做。因此不管从浏览器登陆邮箱或者客户端软件登陆邮箱,看到的邮件以及状态都是一致的。
还有一个就是,若是选择阅读邮件,则会快速下载,以即可以看到 - 由于除非你须要打开电子邮件,不然不会下载电子邮件的,这样也就能够快速的查阅邮件列表了,不须要等全部邮件内容更新后才能够查看。
因此,相比POP3而言,IMAP有如下优势:
最后,IMAP端口也分为SSL/TLS加密端口993,和不加密端口143。
这里有一些问题,可能你也会遇到,我把它列举一下。
绕了这么多,终于回到了正题,其实若是真正弄懂了邮件传输的原理以及相关一些协议的做用,这样就比较简单了。 以下图,收件服务器采用能够与服务器进行交互的IMAP协议,毕竟比较有优点,也能够查看163的网站查看主机名为imap.163.com,而发送服务器没得选,直接写smtp.163.com就能够了,这里的端口后不须要填,基本上都是默认的端口号。
端口号也是能够修改的,见下图,基本上设置都是差很少的,反过头来看,设置比较简单,要知道其中的原理仍是要花必定时间的。
最后再仔细想一想,其实邮件收发的过程跟咱们现实生活中寄快递是同样的逻辑,先把东西打包后交给快递公司接收点,而后快递公司派单送到中间的其余站点,这些接收点,中间点就至关于SMTP服务器,快递寄到了之后每每会存到某个附件的代收点,这个代收点就至关于POP3服务器或者IMAP服务器,用户接收到了短信就能够本身凭短信取件码去领,也能够过一段时间去领。
真是技术源于生活呀,我想创新也须要勤于对生活的思考吧。