如何在Openfire上接收邮件传递收据?

时间:2015-01-07 13:43:03

标签: java xmpp server openfire jabberd2

如何在Openfire服务器上接收邮件传递收据?

我想在以下状态收到确认:

  1. 当Openfire服务器收到消息时
  2. 当接收方客户端收到消息时
  3. 当接收方已阅读该消息时。
  4. 简而言之,我想实现类似于Whatsapp的PENDING,SINGLE TICK,DOUBLE TICK,BLUE DOUBLE TICK等功能。

    我知道,XMPP确实支持此功能。 [XEP-0184]

    经过多次搜索,我了解到Openfire不支持XEP-0184。 问题OF-434已被关闭并被Openfire社区标记为无法修复

    我还能怎样做到这一点?我不想迁移到另一台服务器!

    在OPENFIRE上实现邮件传递收据的替代解决方案是什么?

2 个答案:

答案 0 :(得分:4)

如果您仔细阅读了您提到的Openfire问题,您可能会注意到the last comment of the issue gives the reason it was closed as "Won't Fix"

  

XEP-0184与服务器无关。

     

纯粹是客户   客户协议,并充分记录了这意味着什么   由于可能存在的问题,不接收邮件收据   由于服务器而出现。服务器没有任何实现   有了这个规范所以我正在关闭它。

此外,XEP-184仅描述传递收据的机制。当服务器收到消息("确认接收消息)或用户已阅读消息时,它不指定通知。

服务器确认传入的节可以通过XEP-198流管理完成,更详细的收据可以通过XEP-333聊天标记完成。只有XEP-198需要服务器支持,另外两个,XEP-184和XEP-333都是纯客户端XEP。

答案 1 :(得分:2)

正如在Flow's answer中暗示的那样,OpenFire实际上 支持XEP-0184,因为它为了使XMPP客户端能够使用该协议而完成了所需的一切。这包括列表中的第2点(当接收方客户端收到消息时)。

对于第1点(当Openfire服务器收到消息时),您需要服务器支持XEP-0198 (Stream Management)。不幸的是,Openfire doesn't support XEP-198 yet