返回顶部
首页 > 资讯 > 后端开发 > Python >IMAP,POP3及Exchange协议
  • 806
分享到

IMAP,POP3及Exchange协议

协议IMAPExchange 2023-01-31 00:01:55 806人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

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

昨天论坛上有个用户说他用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服务器;邮件管理员可以控制你的终端设备权限并能看到邮件收发状态;同样会有同步问题


--结束END--

本文标题: IMAP,POP3及Exchange协议

本文链接: https://lsjlt.com/news/182746.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • IMAP,POP3及Exchange协议
    昨天论坛上有个用户说他用POP3客户端收到一封要求回执的邮件,但是他还没有打开它,已读回执就已经发出去了。于是他来求助这是怎么回事。        这是一个已知问题,描述是POP3客户端用户在还没有打开邮件时就会将已读回执发出,阅读后又会发...
    99+
    2023-01-31
    协议 IMAP Exchange
  • 邮件协议之IMAP指令讲解
    蓝色标志代表该指令涉及邮件内容数据的,其参数是可变的还需要进一步讲解的指令名功能说明CAPABILITY请求服务器支持的功能列表无参数NOOP更新服务器的一些状态无参数LOGOUT注销登陆无参数STARTTLSTLS认证登陆无参数AUTHE...
    99+
    2023-06-05
  • imap协议的认证状态有哪些
    这篇文章主要讲解了“imap协议的认证状态有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“imap协议的认证状态有哪些”吧!开发邮件安全产品时用到IMAP协议。使用IMAP接收邮件与po...
    99+
    2023-06-04
  • Pop3协议的处理状态有哪些
    本篇内容主要讲解“Pop3协议的处理状态有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pop3协议的处理状态有哪些”吧!基本操作  初始时,服务器通过侦听TCP端口110开始POP3服务。...
    99+
    2023-06-04
  • SMTP 和 POP3 协议的区别和联系
    SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol 3)是两种常用的电子邮件协议,用于发送和接收电子邮件。虽然它们都涉及到电子邮件的传输,但在功能和使用方式上有一些区别...
    99+
    2023-08-21
    服务器 网络 tcp/ip
  • OSI七层协议模型及其协议
    文章目录 一、OSI七层模型是什么?其协议有哪些?二、TCP/IP四层协议,TCP/IP五层协议,OSI七层协议是什么? 一、OSI七层模型是什么?其协议有哪些? 二、TCP/IP四层协议...
    99+
    2023-09-03
    网络 服务器 tcp/ip
  • PHP使用POP3协议接收邮件的详细过程
    随着互联网的不断发展和普及,电子邮件已经成为了人们日常沟通的一种常见方式。PHP作为一种流行的编程语言,也提供了一些强大的邮件处理功能。在本文中,我们将分享如何使用PHP通过POP3协议接收邮件的详细过程。一、POP3协议POP3(Post...
    99+
    2023-05-22
    PHP POP 邮件接收
  • PHP使用IMAP协议接收邮箱邮件的详细流程
    随着电子邮件在我们的生活中扮演着越来越重要的角色,人们对于如何接收并管理电子邮件的需求也越来越高。PHP作为一种常用的编程语言,可以通过IMAP协议接收并操作电子邮件。本文将介绍PHP使用IMAP协议接收邮箱邮件的详细流程,帮助读者快速了解...
    99+
    2023-05-22
    PHP IMAP协议 邮箱邮件
  • 深入理解TCP协议与UDP协议的原理及区别
    目录一、IP地址二、端口号三、通信协议四、三要素关系图与网络模型图五、TCP编程六、UDP编程七、总结网络编程有三个要素,分别是IP地址、端口号和通信协议,那本文主要讲述的是TCP与...
    99+
    2024-04-02
  • Linux中如何实现支持Exchange ActiveSync协议的邮件客户端
    这篇文章将为大家详细讲解有关Linux中如何实现支持Exchange ActiveSync协议的邮件客户端,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Exchange ActiveSync 是一种 Ex...
    99+
    2023-06-28
  • modbus tcp协议介绍及分析
    一、modbus tcp协议介绍 Modbus TCP协议是基于TCP/IP网络的Modbus协议的一种变体。它将Modbus协议封装在TCP/IP协议栈中,使用以太网作为物理层,通过TCP连接来实现设备之间的通信。 Modbus TC...
    99+
    2023-09-20
    tcp/ip 网络 服务器 网络协议 运维
  • tcp / udp 协议及其实现的soc
    一、tcp协议 1.1 基本知识 特点: 可靠,慢,全双工通信 建立连接时:三次握手 断开连接时:四次挥手 在建立起连接之后 发送的每一条信息都有回执 为了保证数据的完整性,还有重传机制 长连接:会一直占用双方的端口 IO(in...
    99+
    2023-01-31
    协议 tcp udp
  • redis protocol通信协议及使用详解
    目录简介Redis的高级用法Redis中的piplineRedis中的Pub/SubRESP protocolSimple StringsBulk StringsRESP IntegersRESP ArraysRESP ...
    99+
    2022-07-15
    redis protocol通信协议 redis protocol
  • Docker安装RabbitMQAMQP协议及重要角色
    目录概述AMQP协议AMQP协议重要角色Docker安装RabbitMQ概述 不管是微服务还是分布式的系统架构中,消息队列中间件都是不可缺少的一个重要环节,主流的消息队列中间件有Ra...
    99+
    2023-05-19
    Docker安装RabbitMQ RabbitMQ AMQP协议主要角色 RabbitMQ 消息队列中间件
  • redis protocol通信协议及使用详解
    目录简介redis的高级用法Redis中的piplineRedis中的Pub/SubRESP protocolSimple StringsBulk StringsRESP Integ...
    99+
    2024-04-02
  • 详解Http协议以及post与get区别
    一、什么是HTTP协议   HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与W...
    99+
    2024-04-02
  • flask route对协议作用及设计思路
    目录引言flask route 设计思路源码版本说明flask route示例flask route的作用flask route的实现思路werkzeug库中的Map与Rule在Fl...
    99+
    2024-04-02
  • 华为---PPP协议简介及示例配置
    PPP协议简介         PPP是Point-to-Point Protocol的简称,中文翻译为点到点协议。与以太网协议一样,PPP也是一个数据链路层协议。以太网协议定义了以太帧的格式,PPP协议也定义了自己的帧格式,这种格式的帧称...
    99+
    2023-10-24
    网络
  • Linux之UDP协议及其编程全流程
    目录UDP协议的特点UDP的编程流程UDP接口原型UDP服务器端UDP客户端UDP的报头结构UDP的优势UDP的数据报服务总结UDP协议的特点 UDP 不提供可靠性的传输,它只是把应用程序传给 IP 层的数据报发送出去,...
    99+
    2023-03-23
    Linux UDP协议 UDP编程流程 Linux UDP
  • Go语言实现UDP协议及TCP通讯
    ⼀、使用Golang创建⼀一个TCP连接 1.服务端处理理流程 a.监听端口b.接受客户端的链接c.创建Goroutine,处理这个链接(⼀个服务端要链接多个客户端,所以使用Goro...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作