我的编程空间,编程开发者的网络收藏夹
学习永远不晚

IMAP,POP3及Exchange协议

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

IMAP,POP3及Exchange协议

昨天论坛上有个用户说他用POP3客户端收到一封要求回执的邮件,但是他还没有打开它,已读回执就已经发出去了。于是他来求助这是怎么回事。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

        这是一个已知问题,描述是POP3客户端用户在还没有打开邮件时就会将已读回执发出,阅读后又会发送一份已读回执,简称重复回执Duplicate Receipt)。

        微软官方声称这个问题只存在于Exchange2007 SP3 RU3之前的版本,但就我发现的情况,Exchange2010和2013都有同样的问题,我相信2016也是如此。不是说Exchange产品组不作为,迟迟不修复这个‘Bug’,而是这是POP3协议自身的问题

        试想,服务器上的一封邮件是要求已读回执的,然而这封邮件被取走了而服务器不知道客户端上这封邮件“拆了还是没拆”,他应该做出怎样的判断?很简单,邮件一定是因为要被读取而被取走的。于是收件方就会收到如下的已读回执:

Your message 

   To: Johnnie

   Subject: test - POP3

   Sent: Wednesday, August 30, 2017 3:46:51 PM  

 was read on Wednesday, August 30, 2017 3:47:03 PM 

        然后当你确实在POP3终端上查看了邮件,邮件的Unread标示位(Flag)在由1变0时会触发已读回执发送给发件人。相当于在邮件的某个属性上嵌套了一个宏,于是发件人就又收到了一封回执:

Your message

    To:  johnnie@xxx.com

    Subject:  test - POP3

    Sent:  8/30/2017 3:46 PM

was read on 8/30/2017 3:47 PM. 

        Exchange 2010之后EMS命令Set-PopSettings命令多了一个等待回执的参数(-Suppre***eadReceipt),意思是服务器先不默认取走状态是已读状态,而是等收件人回执发到了服务端再看。然而等不来的回执,服务器默默发了以下第二封回执:

Your message 

   To: Johnnie 

   Subject: test - POP3

   Sent: 8/30/2017 3:47 PM. (UTC+08:00) 

was deleted without being read on 8/30/2017 3:47 PM. (UTC+08:00) 

        嗯。。。不算太坏吧,至少我们找到了特征字段,下面只要定义传输规则丢弃含这个字段的邮件就可以防止POP的重复回执了。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


        饶了一大圈,是时候来说说三大邮件协议的工作原理:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

        POP3作为三者中最老的协议,它会将邮件数据下载到第一个连接客户本地,如果还有用户想要连接下载的话,服务端已经没有了。它的好处是应用广泛;坏处是无法同步消息;一旦下载服务端即消失(你可以设置在服务端保存副本,但这并不改变协议的本质);无法同步联系人、日历和子邮件目录

640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy

        与POP3的单向通讯不同,IMAP会来回地与邮件服务器通讯。这就意味着当你将一封新邮件下载到台式机的Outlook里,它将同样被下载到你的iPhone;如果你在iPad上阅读了一封邮件,这封邮件在你笔记本上的状态也会变为“已读”;包括移到其他目录的邮件(即便不在收件夹下)也将被同步。这个协议的问题在于容错性比较差。如果你的邮件账户同时有多个用户需要访问,IMAP可能并不是一个理想的协议。即如果用户A下载了邮件,同一账户的用户B将可能永远看不到了。它的好处是全邮件同步;可同步Flag和待办项目;易学易用。坏处是如果多用户使用同一账号,邮件同步可能在不同用户间造成困惑

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

        Exchange协议可供用户同步邮件、联系人、日历及其他所有Exchange对象。由于这个协议需要部署Exchange服务器,因此通常为公司或者机构账号所用。它的好处是:全邮件同步;邮件保存在服务器上;支持绝大部分移动设备、联系人、日历和数据同步;在服务器域中邮件可撤回并修改。坏处是必须部署昂贵的Exchange服务器;邮件管理员可以控制你的终端设备权限并能看到邮件收发状态;同样会有同步问题


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

IMAP,POP3及Exchange协议

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

IMAP,POP3及Exchange协议

昨天论坛上有个用户说他用POP3客户端收到一封要求回执的邮件,但是他还没有打开它,已读回执就已经发出去了。于是他来求助这是怎么回事。        这是一个已知问题,描述是POP3客户端用户在还没有打开邮件时就会将已读回执发出,阅读后又会发
2023-01-31

邮件协议之IMAP指令讲解

蓝色标志代表该指令涉及邮件内容数据的,其参数是可变的还需要进一步讲解的指令名功能说明CAPABILITY请求服务器支持的功能列表无参数NOOP更新服务器的一些状态无参数LOGOUT注销登陆无参数STARTTLSTLS认证登陆无参数AUTHE
2023-06-05

imap协议的认证状态有哪些

这篇文章主要讲解了“imap协议的认证状态有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“imap协议的认证状态有哪些”吧!开发邮件安全产品时用到IMAP协议。使用IMAP接收邮件与po
2023-06-04

Pop3协议的处理状态有哪些

本篇内容主要讲解“Pop3协议的处理状态有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pop3协议的处理状态有哪些”吧!1、基本操作  初始时,服务器通过侦听TCP端口110开始POP3服
2023-06-04

SMTP 和 POP3 协议的区别和联系

SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol 3)是两种常用的电子邮件协议,用于发送和接收电子邮件。虽然它们都涉及到电子邮件的传输,但在功能和使用方式上有一些区别
2023-08-21

Linux中如何实现支持Exchange ActiveSync协议的邮件客户端

这篇文章将为大家详细讲解有关Linux中如何实现支持Exchange ActiveSync协议的邮件客户端,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Exchange ActiveSync 是一种 Ex
2023-06-28

tcp / udp 协议及其实现的soc

一、tcp协议1.1 基本知识特点:可靠,慢,全双工通信建立连接时:三次握手断开连接时:四次挥手在建立起连接之后发送的每一条信息都有回执为了保证数据的完整性,还有重传机制长连接:会一直占用双方的端口IO(input,output)操作,输入
2023-01-31

redis protocol通信协议及使用详解

目录简介Redis的高级用法Redis中的piplineRedis中的Pub/SubRESP protocolSimple StringsBulk StringsRESP IntegersRESP ArraysRESP ErrorsInli
2022-07-15

Docker安装RabbitMQAMQP协议及重要角色

这篇文章主要为大家介绍了Docker安装RabbitMQAMQP协议和主要角色详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-05-19

Linux之UDP协议及其编程全流程

目录UDP协议的特点UDP的编程流程UDP接口原型UDP服务器端UDP客户端UDP的报头结构UDP的优势UDP的数据报服务总结UDP协议的特点 UDP 不提供可靠性的传输,它只是把应用程序传给 IP 层的数据报发送出去,但是并不能保证它们能
2023-03-23

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录