SMTP、POP3、IMAP三大协议有过了解吗?相信大家平常在开发自己的网站时,都有使用过短信验证码注册这个功能吧😄,市面上常见的短信验证码主要有阿里云或者腾讯云的SMS服务,或者直接使用邮箱短信发送短信验证码(比如QQ邮箱、网易邮箱),而博主最近就在项目中使用到了邮箱注册,于是顺便了解一下在邮箱服务中这三大常见协议:SMTP、POP3、IMAP,同时整合一下邮箱验证码注册……
什么是 SMTP 协议?
SMTP(Simple Mail Transfer Protocol)属于 TCP/IP 协议族,是一种用于发送电子邮件的网络协议,默认端口号为25。它定义了电子邮件客户端和邮件服务器之间的通信规则,以便可靠地传递邮件;同时SMTP协议是一种面向文本的协议,使用简单的命令和响应交互。它提供了可靠的邮件传输机制,并支持身份验证、加密等功能,以确保邮件的安全性和可信性。
注意:SMTP协议只用于发送邮件,如果你想要接收邮件,需要使用其他协议,如 POP3 或 IMAP。
SMTP 协议一般的工作流程
什么是 POP3 协议?
POP3(Post Office Protocol 3)属于 TCP/IP 协议族,是一种用于接收电子邮件的协议,默认端口号为110。它允许用户从邮件服务器上下载邮件到本地设备,以便在离线状态下查看和管理邮件。
注意:POP3是一种简单的邮件接收协议,它只用于从服务器下载邮件到本地设备。它不提供同步功能,因此在多个设备上查看邮件时,邮件状态(如已读、标记)不会同步。另外,对于某些邮件服务器来说,还有一个扩展版本的 POP3 协议,称为 POP3S(POP3 over SSL/TLS),它使用加密的 SSL/TLS 连接进行通信,以增强安全性。
POP3 协议一般的工作流程
什么是 IMAP 协议?
IMAP(Internet Message Access Protocol)属于 TCP/IP 协议族,是一种用于接收和管理电子邮件的协议,默认端口号为143。它在电子邮件的管理方面提供了更多的功能,比如同步邮件夹结构、搜索邮件、标记状态保持等。它适用于那些需要在多个设备上访问和管理邮件的用户。
注意:IMAP 不能用于发送邮件,主要用于接收邮件,此外还提供浏览和管理文件夹、浏览和管理文件夹、删除和移动邮件、搜索和过滤邮件等功能
IMAP 协议一般的工作流程
IMAP 与 POP3 的比较
IMAP 和 POP3 两个协议都是主要用于接收邮件的,但是两者也存在一些不同之处,不同的地方如下所诉:
邮件保留方式不同:
IMAP: 邮件保留在邮件服务器上,客户端通过与服务器进行交互来访问和管理邮件。客户端可以在多个设备上同时查看和管理邮件,因为邮件仍然存储在服务器上。
POP3: 邮件通常会从邮件服务器下载到客户端设备上,并从服务器上删除。客户端设备上的邮件成为唯一的副本,无法在多个设备上同步查看和管理。
邮件同步方式不同:
IMAP: IMAP支持双向同步,即当在一个设备上对邮件执行操作(如删除、移动)时,服务器和其他设备上的邮件状态也会相应地进行更新。
POP3: POP3是单向下载协议,只负责将邮件从服务器下载到客户端设备。客户端上的操作不会反映在服务器或其他设备上。
邮件存储不同:
IMAP: 邮件保留在邮件服务器上,并在文件夹结构中进行组织。客户端可以创建、删除和重命名文件夹,以便更好地组织和管理邮件。
POP3: 邮件通常存储在客户端设备上,没有文件夹结构来组织邮件。
邮件下载方式:
IMAP: 客户端可以选择仅下载邮件的部分内容,如邮件的标题和摘要。只有当需要查看完整邮件内容时,才会下载邮件的正文。
POP3: 客户端通常会将整个邮件下载到设备上,包括标题、正文和附件。
综上所述,IMAP 适用于需要在多个设备上同步查看和管理邮件的场景,而 POP3 更适合那些只在单个设备上下载并处理邮件的场景
默认的25端口号是用于非加密的 SMTP(Simple Mail Transfer Protocol)连接。它是传统的邮件发送协议,但在现代网络环境中,使用25端口发送邮件可能会受到一些限制或阻止。
许多网络服务提供商和互联网服务提供商(ISP)会在流量控制、垃圾邮件过滤等方面对SMTP流量进行限制。为了减少垃圾邮件和网络滥用,一些ISP可能会阻止直接通过25端口向外部服务器发送邮件。这种限制是为了防止恶意发送者滥用未经身份验证的SMTP连接。
为了解决这些问题,RFC 2476引入了另外一个SMTP端口,即端口587。该端口被定义为SMTP的"message submission"服务,用于客户端向服务器提交邮件。相对于端口25,端口587通常具有以下优势:
综上所述,端口587成为了推荐的邮件客户端向服务器提交邮件的端口,特别是在需要加密通信和身份验证的情况下。然而,并非所有邮件服务器都支持端口587,因此在使用时需要根据实际情况进行配置。如果你的邮件服务器要求使用端口25,则应相应地更改配置以适应该端口。
此外还有 465 端口,它和 587 端口的区别:
端口号465:默认使用 SSL 加密连接的 SMTP(Simple Mail Transfer Protocol)端口。常用于发送方面向服务器的安全通信。通过该端口发送的邮件使用 SSL/TLS 协议进行加密,确保邮件传输的安全性。SSL(Secure Sockets Layer)是一个早期的加密协议,现已被更安全的协议 TLS(Transport Layer Security)所取代。使用465端口需要建立起 SSL 连接后再进行邮件传输。
端口号587:默认使用 STARTTLS 加密连接的 SMTP 端口。STARTTLS 是一种在普通的非加密 SMTP 连接上启动加密的方法。它首先与服务器建立普通的非加密连接,然后通过 STARTTLS 命令将连接升级为加密连接。这意味着初始连接是未加密的,但随后会使用 TLS 或 SSL 加密进行邮件传输。
一般来说,推荐使用端口号587并使用 STARTTLS 加密连接,因为它提供了更好的兼容性,并且是目前更常见的加密方式。而端口号465则是较早的使用 SSL 加密连接的方式,在某些情况下可能会受到防火墙或安全设置的限制。
邮箱服务中的三大协议
SMTP(Simple Mail Transfer Protocol):
作用:SMTP协议用于发送电子邮件。
工作原理:使用SMTP协议,邮件客户端将邮件通过指定的SMTP服务器发送给目标邮件服务器,然后目标邮件服务器将邮件传递到收件人的邮箱。SMTP协议负责邮件的传输过程。
POP3(Post Office Protocol version 3):
作用:POP3协议用于接收电子邮件。
工作原理:使用POP3协议,邮件客户端从邮件服务器上下载邮件,并将其存储在客户端设备上。与IMAP不同,POP3通常会从服务器上删除邮件,因此客户端设备上的邮件成为唯一的副本。
IMAP(Internet Message Access Protocol):
作用:IMAP协议用于接收和管理电子邮件。
工作原理:使用IMAP协议,邮件客户端可以连接到邮件服务器,浏览、搜索和管理服务器上存储的邮件。IMAP允许用户在多个设备上同步访问邮件,并保留邮件在服务器上的副本。
总结:SMTP用于发送邮件,IMAP用于在多个设备上同步接收和管理邮件,而POP3用于单个设备上下载并接收邮件。这三种协议共同构成了电子邮件服务的基础,并提供了完整的邮件收发功能。
邮箱服务中的三大端口
25端口号,是早期邮件服务中默认开放的端口号,但是由于它并没有对请求进行加密,所以存在安全风险
587端口号,则可以通过 STARTTLS 命令在普通的非加密连接上启动加密
465需要通过 SSL 连接进行邮件传输
总结:端口兼容性由高到低是 25、587、465,端口安全性由低大高是 25、587、465
参考文章:
- POP3、SMTP和IMAP之间的区别和联系_
- SMTP协议详解及工作过程_smtp协议的工作过程
- SMTP协议简析
- [Smtp/POP3邮箱地址和端口总结(163/126/QQ) - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/618281679#:~:text=Smtp%2FPOP3邮箱地址和端口总结(163%2F126%2FQQ) 1 163.com%3A 接收邮件服务器: pop.163.com 接收端口: 110或995 (使用ssl时),POP3服务器地址%3A pop.x263.net (端口:110) SMTP服务器地址%3A smtp.x263.net (端口:25) 21cn.com%3A )