在Openfire中拒绝来自非名册用户的消息

时间:2016-02-18 16:59:43

标签: xmpp openfire converse.js

如何仅允许名单上的联系人向我发送消息? 是否有任何XEP负责这样做?或者我需要做这个客户端吗?

1 个答案:

答案 0 :(得分:1)

是的,OpenFire支持XEP-0016: Privacy Lists(参见this question),可以根据各种标准阻止节。

您无法明确阻止不在您的名单中的联系人的节,但您可以阻止订阅状态none,这可以或多或少地实现相同的目标。你可以发送这样的东西:

<iq from='romeo@example.net/orchard' type='set' id='msg3'>
<query xmlns='jabber:iq:privacy'>
  <list name='message-sub-example'>
    <item type='subscription'
          value='none'
          action='deny'
          order='5'>
      <message/>
    </item>
  </list>
</query>
</iq>

这将创建一个名为message-sub-example的隐私列表,其中包含阻止来自订阅类型为none的联系人的任何邮件的规则,包括不在名单中的联系人。要使此列表生效,您需要将其设置为活动列表:

<iq from='romeo@example.net/orchard' type='set' id='active1'>
<query xmlns='jabber:iq:privacy'>
  <active name='message-sub-example'/>
</query>
</iq>