当Gmail以编程方式用作POP3服务器时,它表现出哪些非标准行为特征?

当Gmail以编程方式用作POP3服务器时,它表现出哪些非标准行为特征?,gmail,pop3,Gmail,Pop3,我正试图准备一份Gmail POP3表现出的行为的完整列表,这在POP3服务器中是不常见的 例如,Gmail似乎忽略了POP3客户端的DELE(delete)命令。相反,它实现了自己的删除和归档策略 准备一个列表的目的是避免开发人员针对Gmail POP3服务器测试POP3客户机,然后假设所有POP3服务器的行为方式相同 有人能提供一份更完整的非标准行为清单吗?我不能提供一份完整的清单,但我可以提供我所知道的: 提取电子邮件将在以后的所有POP3会话中隐藏它,除非您重置gmail POP3设置

我正试图准备一份Gmail POP3表现出的行为的完整列表,这在POP3服务器中是不常见的

例如,Gmail似乎忽略了POP3客户端的DELE(delete)命令。相反,它实现了自己的删除和归档策略

准备一个列表的目的是避免开发人员针对Gmail POP3服务器测试POP3客户机,然后假设所有POP3服务器的行为方式相同


有人能提供一份更完整的非标准行为清单吗?

我不能提供一份完整的清单,但我可以提供我所知道的:

  • 提取电子邮件将在以后的所有POP3会话中隐藏它,除非您重置gmail POP3设置(再次设置)。
    更准确地说:我发现这只发生在RETR命令中。不是最高指挥部。我还注意到,如果在发出RETR命令后没有发送QUIT命令,那么消息将保留在服务器上,以备以后的会话使用。因此,只需关闭连接即可获取消息,gmail将在下一次会话中保持消息可见
  • 根据您的gmail设置,提取的电子邮件也可以从您的gmail web界面中删除
  • 在您的用户名前加上一个特别的“最近:”登录,将显示在过去30天内收到的电子邮件,无论是否已发送到另一个POP3客户端
这是我所知道的关于gmail pop3服务的唯一非标准行为。这些信息大部分是我作为一名开发人员收集的

可能有用的参考资料:


获取电子邮件是指RETR命令和TOP命令吗?这是否也意味着RSET命令(使删除的电子邮件在会话中再次可见)对Gmail POP3服务器没有影响?我对我的回复进行了编辑,以便更准确。关于RSET命令:当获取电子邮件时,只要我们处于相同的pop3会话中,客户端仍然可以看到电子邮件。因此,我不理解您关于RSET命令的问题。RSET命令只是取消标记那些标记为已删除的消息,但只有在对它们发出DELE命令时,它们才会标记为已删除。RSET不会取消删除先前pop3会话中删除的邮件-在发出QUIT命令时,标记为已删除(使用DELE命令)的邮件将被永久删除。谢谢。关于RSET命令,我的问题假设使用RETR命令导致的隐式删除是RSET命令可能逆转的唯一删除。我还假设DELE命令没有效果。通过解释DELE命令和RSET命令在任何POP3服务器上都能正常工作,您已经澄清了这一点。因此,RETR、DELE和RSET命令空间中唯一的非标准行为是,如果会话使用QUIT命令正确结束,则已RETR(ieved)的电子邮件将在将来的POP3会话中隐藏。这是我知道的,是的。但我不知道是否还有其他消息。实际上,RFC中指定了值为0的CAPA EXIRE命令,用于告诉客户端消息不会留在服务器上。也许GMAIL支持这个命令。