目录
SMTP
POP
IMAP
总结
今天入职第一天,公司让配置个人的内网、外网邮箱,这可把我给搞晕了,本来以前就对邮箱这块不是很了解,平时也不怎么用邮箱,顶多有个QQ邮箱而已。今天,趁着配置公司的个人内外网邮箱,查了下资料,梳理了一下这三种协议的区别。
首先,SMTP、POP和IMAP都是与邮件有关的协议。SMTP主要是负责传送邮件,而POP和IMAP是负责接收邮件。
SMTP
SMTP (Simple Mail Transfer Protocol),即简单邮件传输协议,默认端口是25,通过SSL协议加密之后的默认端口是465。正如名字所暗示的那样,它其实是一个非常简单的传输协议,无需身份认证,而且发件人的邮箱地址是可以由发信方任意声明的,利用这个特性可以伪造任意发件人。它是用于从源地址到目的地址传输邮件的协议,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP是一个 “推” 的协议,它不允许根据需要从远程服务器上 “拉” 来消息。
SMTP 认证:简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。
SMTP 服务器就是装有 SMTP 协议的服务器。
POP
POP(Post Office Protocol)邮局通讯协议,POP是互联网上的一种通讯协议,主要功能是用在接收电子邮件时。当我们寄信给另外一个人时,对方当时多半不会在线上,所以邮件服务器必须为收信者保存这封信,直到收信者来检查这封信件。当收信人收信的时候,必须通过POP通讯协定,才能取得邮件。
POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,是TCP/IP协议族中的一员,默认端口是110,通过SSL协议加密之后的默认端口是995。POP3协议主要用于支持使用客户端远程管理在服务器上的电子邮件。它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,但是对邮件的操作并不会反馈到邮箱服务器上。
POP3服务器就是装有POP3协议的服务器。
IMAP
IMAP (Internet Mail Access Protocol),即交互式邮件存取协议,是一个应用层协议,默认端口是143,通过SSL协议加密之后的默认端口是993。用来从本地邮件客户端,如Outlook Express、Foxmail、Mozilla Thunderbird等访问远程服务器上的邮件。它和POP3类似邮件访问标准协议类似。不同的是,开启了IMAP后,您在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。同时,IMAP像POP3那样提供了方便的邮件下载服务,让用户能进行离线阅读。IMAP提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。此外,IMAP 更好地支持了从多个不同设备中随时访问新邮件。所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。也就是说,IMAP提供了比POP3更为强大的功能。IMAP服务器就是装有IMAP协议的服务器。
总结
其实,SMTP、POP3和IMAP协议就和HTTP、DNS等其他协议类似。只不过是为了实现某个功能而设计的一组规范而已,而装有这些协议的服务器就可以称为该协议的服务器。比如,一台服务器同时装有SMTP、POP3、HTTP协议,那么,它既可以称为SMTP服务器,也可以称为POP3服务器,同时还可以称为HTTP服务器。因为,它同时提供了这些功能。
一般情况下,小型的提供邮件服务的网站,他们的邮件服务器同时提供了SMTP、POP3和IMAP的功能。但是对于大型的提供邮件服务的网站,他们的SMTP服务器和POP3服务器以及IMAP服务器都是分开的。
当我们给其他人发送电子邮件时,我们需要写我们的邮件地址和对方的邮件地址,那么现在有下面两种情况:
-
- 当对方和我们属于同一个域时,也就是当我们是QQ邮箱,对方也是QQ邮箱。这样,我们把邮件给了我们的SMTP服务器,然后SMTP服务器只需要转给本地的POP3服务器即可。
- 当对方和我们不属于同一个域时,也就是当我们是QQ邮箱,而对方是163邮箱的话。我们把邮件给了我们的SMTP服务器,然后我们的SMTP服务器通过查询DNS得到对方邮箱的POP3服务器,然后将邮件通过SMTP协议传送给对方的POP3服务器或IMAP服务器。
那么,对方是如何接受我们的电子邮件的呢?也有下面两种情况:
-
- 当对方使用的是POP3协议的话,他可以使用邮件客户端对邮件进行接收以及操作。比如移动该邮件,删除该邮件,标记该邮件为已读,但是这些操作并不会反馈到邮箱服务器上。也就是说,你在本地对邮件进行的操作和邮箱服务器是不同步的。
- 当对方使用的是IMAP协议的话,IMAP提供邮件服务器与邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的任何操作,服务器上的邮件也会做相应的动作。也就是说,你在本地对邮件进行的操作和邮箱服务器是同步的。
DNS记录中的MX记录
我们都知道,在DNS解析记录中有一个MX记录。那么,这个记录是用来干嘛的呢?
现在假如我们是使用的QQ邮箱。 xx@qq.com ,对方使用的是163邮箱,test@163.com。那么,现在我们要发送邮件给对方。我们使用QQ邮箱网页端发送,该操作同步到了qq这个域的SMTP服务器上,然后SMTP服务器查看目标邮箱地址不和qq.com属于一个域。于是查询DNS记录,一步一步查到了163这个域上。最终,将邮件发送给查询到的163这个域的邮件服务器。
MX记录的权重对邮箱服务是很重要的,当发送邮件时,邮箱服务器先对域名进行解析,查找 MX 记录。先找权重数最小的服务器(比如说是 10),如果能连通,那么就将发送过去;如果无法连通 MX 记录为 10 的服务器,那么才将邮件发送到权重为 20 的邮箱服务器上。这里有一个重要的概念,权重 20 的服务器在配置上只是暂时缓存邮件,当权重 20 的服务器能连通权重为 10 的服务器时,仍会将邮件发送到权重为 10 的邮件服务器上。当然,这个机制需要在邮件服务器上配置。
一般,大型的邮件服务提供商都有好几个邮件服务器 。