IMAP和POP3的相关知识与区别
文章目录
- 1、IMAP
- 1.1、IMAP介绍
- 1.2、IMAP的特点
- 2、POP3
- 2.1、POP3介绍
- 2.2、POP3协议特性
- 2.3、POP3命令码
- 2.4、常见问题
- 3、IMAP和POP3有什么区别?
1、IMAP
1.1、IMAP介绍
- IMAP
(Internet Message Access Protocol)
以前称作交互邮件访问协议(Interactive Mail Access Protocol)
,是一个应用层协议 - IMAP是斯坦福大学在1986年开发的一种邮件获取协议
- 它的主要作用是邮件客户端可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等
- 当前的权威定义是RFC3501
- IMAP协议运行在TCP/IP协议之上,使用的端口是143
- 它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作
1.2、IMAP的特点
IMAP(Internet消息访问协议)也是提供面向用户的邮件收取服务。常用的版本是IMAP4
- IMAP4改进了POP3的不足,用户可以通过浏览信件头来决定是否收取、删除和检索邮件的特定部分
- 还可以在服务器上创建或更改文件夹或邮箱。它除了支持POP3协议的脱机操作模式外,还支持联机操作和断连接操作
- 它为用户提供了有选择的从邮件服务器接收邮件的功能、基于服务器的信息处理功能和共享信箱功能
- IMAP4的脱机模式不同于POP3,它不会自动删除在邮件服务器上已取出的邮件,其联机模式和断连接模式也是将邮件服务器作为“远程文件服务器”进行访问,更加灵活方便
- IMAP4支持多个邮箱
- IMAP4的这些特性非常适合在不同的计算机或终端之间操作邮件的用户(例如你可以在手机、PAD、PC上的邮件代理程序操作同一个邮箱),以及那些同时使用多个邮箱的用户
2、POP3
2.1、POP3介绍
- POP3,全名为
“Post Office Protocol - Version 3”
,即“邮局协议版本3” - 是TCP/IP协议族中的一员
- 由RFC1939 定义
- 本协议主要用于支持使用客户端远程管理在服务器上的电子邮件
- 提供了SSL加密的POP3协议被称为POP3S
- POP 协议支持“离线”邮件处理
- 其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件
- 这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是PC机或 MAC
- 一旦邮件发送到 PC 机或MAC上,邮件服务器上的邮件将会被删除
- 但POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议
2.2、POP3协议特性
- POP3协议默认端口:110
- POP3协议默认传输协议:TCP
- POP3协议适用的构架结构:C/S
- POP3协议的访问模式:离线访问
POP3协议示意如下图所示
2.3、POP3命令码
命令 | 描述 |
---|---|
USER [username] | 处理用户名 |
PASS [password] | 处理用户密码 |
APOP [Name,Digest] | 认可Digest是MD5消息摘要 |
STAT | 处理请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数 |
UIDL [Msg#] | 处理返回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的 |
LIST [Msg#] | 处理返回邮件数量和每个邮件的大小 |
RETR [Msg#] | 处理返回由参数标识的邮件的全部文本 |
DELE [Msg#] | 处理服务器将由参数标识的邮件标记为删除,由quit命令执行 |
RSET | 处理服务器将重置所有标记为删除的邮件,用于撤消DELE命令 |
TOP [Msg# n] | 处理服务器将返回由参数标识的邮件前n行内容,n必须是正整数 |
NOOP | 处理服务器返回一个肯定的响应 |
QUIT | 终止会话 |
2.4、常见问题
- POP3是什么?有什么作用?
答: POP3是Post Office Protocol - Version 3的缩写,即邮局协议版本3,是一种用来从邮件服务器上读取邮件的协议,用于将邮件从POP服务器传送到用户代理
负责接收邮件的用户代理称为POP客户,负责发送邮件的服务器称为POP服务器
- 为什么需要POP3?
答: 通过POP3协议,收信人不需要参与到与邮件服务器之间的邮件读取过程,简化了用户操作
收信人可以“离线”地进行邮件处理,很方便地接收,阅读邮件
- 什么是POP命令和应答?
答: POP客户使用POP命令向POP服务器发送请求,例如PASS命令传送帐户密码,RETR命令请求传送邮件内容等.
POP服务器使用应答对此回应,“+OK”表示命令成功,"-ERR"表示命令失败,后面是简单的文字说明,例如"+OK Password required for Bob" 表示USER命令成功执行,需要客户输入密码进行认证
- POP3协议有哪些状态?
答: POP3有三种状态: AUTHORIZATION(授权),TRANSACTION(处理),UPDATE(更新).
当TCP建立起来时,POP3进入"授权"状态,客户需要使用USER/PASS进行身份验证. 通过验证后,POP3进入"处理"状态,客户可以发送LIST,RETR等命令来查询,获取邮件. 当客户在此状态下发送"UPDATE"命令后,POP3进入"更新"状态,服务器处理完命令后又回到"授权"状态
- 服务器收到客户发送的DELE命令后,邮件是否立即从服务器上删除?
答:服务器收到DELE命令后,仅仅将邮件标记为删除,真正的删除操作在更新状态下执行. 如果还未进入到更新状态,客户可以发送RSET命令撤消以前的DELE命令
- POP3中用户的密码是明文传送的,具有安全隐患,请问该怎么办?
答: POP3使用PASS命令传送用户的密码,并以明文传送,因此具有安全隐患
POP3提供另外一个命令APOP,可以安全传输用户密码,避免了安全隐患
3、IMAP和POP3有什么区别?
POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的
而IMAP提供webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作
同时,IMAP像POP3那样提供了方便的邮件下载服务,让用户能进行离线阅读。IMAP提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。此外,IMAP 更好地支持了从多个不同设备中随时访问新邮件
总之,IMAP 整体上为用户带来更为便捷和可靠的体验,POP3 更易丢失邮件或多次下载相同的邮件,但 IMAP 通过邮件客户端与webmail 之间的双向同步功能很好地避免了这些问题
注:若在web邮箱中设置了“保存到已发送”,使用客户端POP服务发信时,已发邮件也会自动同步到网页端“已发送”文件夹内
【参考链接1】
【参考链接-百度百科POP3】
【参考链接-百度百科IMAP】
IMAP和POP3的相关知识与区别相关推荐
- imap和pop3的区别有哪些?
概述 imap和pop3的区别: IMAP是Internet邮件访问协议,POP3是邮局协议的第3个版本: IMAP不用对服务器上面的邮件进行全部下载,而POP3允许下载邮件服务器上面的邮件. ima ...
- 手机qq邮箱pop3服务器是什么意思,qq邮箱pop3是什么意思怎么弄(邮箱客户端设置中IMAP和POP3有什么区别)...
然则在设置账户信息的时候不知道你有没有注重到IMAP和POP3两种设置类型,那么邮箱客户端设置中IMAP和POP3有什么区别? POP3和谈许可电子邮件客户端下载办事器上的邮件,然则在客户端的把持(如 ...
- 邮件imap和pop3区别_在诺基亚E71上设置POP3 / IMAP电子邮件箱
邮件imap和pop3区别 The software in Nokia E71 already support POP3 and IMAP email box. But we may lead to ...
- IMAP和POP3有什么区别
IMAP和POP3是邮件访问最为普遍的Internet标准协议 POP3的原理是将邮件下载到本地,而IMAP则是将邮件保留在服务器上,客户端一直和服务器进行连接,客户端进行的操作(已读.删除等)会存储 ...
- Linux网络相关知识(七)
Linux网络相关知识(七) 1.简述osi七层模型和TCP/IP五层模型 OSI七层模型 OSI七层模型的划分 应用层(Application).表示层(presentation).会话层(sess ...
- WinForm开发,窗体显示和窗体传值相关知识总结
以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm开发,把用到的相关知识整理如下 A.WinForm中窗体显示显示窗体可以有以下2种方法: Form.ShowDialo ...
- 有关线程的相关知识(下)
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/70339618 本文出自:[顾林海的博客] 前言 在上一篇文章<有 ...
- Next.js踩坑入门系列(七) —— 其他相关知识
Next.js踩坑入门系列 (一) Hello Next.js (二) 添加Antd && CSS (三) 目录重构&&再谈路由 (四) Next.js中期填坑 (五) ...
- 【提高系列】webpack相关知识
这次我们主要研究的是webpack框架的相关知识,webpack是一个打包构建的前端框架,用于解决前端开发的模块化问题. 应用场景和纵向比较 说到webpack,肯定你还会想到gulp和grunt这些 ...
最新文章
- 四舍六入五成双银行家算法的 PHP和Javascript实现
- imp 只导表前10条数据_做电商设计,你必须懂的10条数据指标
- yunyang tensorflow-yolov3 NMS:non maximum suppression 非极大值抑制方法
- react native 从头开始
- ZfNet解卷积:可视化CNN模型( PythonCode可视化Cifar10)
- 台式机dp接口_2K至4K显示器性价比线材选购攻略,毕亚兹 DP高清线入手
- 将新项目上传到SVN服务器
- 软件开发人员电脑配置
- 使用 Kotlin 中的 takeIf
- 片上总线Wishbone 学习(三)Wishbone互联的类型
- 微信计算机发展的表征是什么意思,【表征】的意思是什么?【表征】是什么意思?...
- ubuntu串口调试工具kermit和minicom
- 【Java】java.lang.Object
- python爬虫爬取音乐_利用python爬虫实现爬取网易云音乐热歌榜
- Linux系统的下载神器XDM
- Discuz 论坛优化
- 带你入门多目标跟踪(一)领域概述
- 浅谈一个新人的大数据之路
- 一个关于APP开发者的复兴之路 区块连
- Spring Security介绍(4)
热门文章
- 成功解决运行tensorflow时ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath‘
- 编程笔试(解析及代码实现):序列重排之给一个长度为n的序列A,求找出某种排列方式使得相邻两个数的差值之和最大并求出该最大值
- ML之回归预测:利用Lasso、ElasticNet、GBDT等算法构建集成学习算法AvgModelsR对国内某平台上海2020年6月份房价数据集【12+1】进行回归预测(模型评估、模型推理)
- Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略
- ML之ME/LF:机器学习中回归预测模型评估指标(MSE/RMSE/MAE)简介、使用方法、代码实现、案例应用之详细攻略
- ML之Clustering之普聚类算法:普聚类算法的相关论文、主要思路、关键步骤、代码实现等相关配图之详细攻略
- Algorithm:C++语言实现之字符串相关算法(字符串的循环左移、字符串的全排列、带有同个字符的全排列、串匹配问题的BF算法和KMP算法)
- Crawler:基于requests库+json库+40行代码实现爬取猫眼榜单TOP100榜电影名称主要信息
- 1.8 ionic3入门——测滑菜单(side menu)中的界面跳转
- Springboot 连接数据库