1

我不久前在某处读到,可以配置外部 jabber 组件 (XEP-0114) 以代表任何用户发送 XMPP 节。例如说我有一个绑定到(component.localhost)的组件,我希望它发送一个“from”属性设置为“user@localhost”的消息节。

我正在尝试使用 ejabberd 来实现这一目标。如果我必须破解 ejabberd src 以使其正常工作(如果可能的话),我不会感到惊讶。

4

3 回答 3

5

如果您使用 ejabberd,您可以使用{service_check_from, false}服务定义中的选项来禁用对“from”属性的验证。

但请记住,XEP 0114要求 JID 的“主机”部分与组件的名称匹配。

有关所有血腥细节,请参阅ejabberd 文档的相应部分。

于 2010-12-21T23:38:05.193 回答
0

您的组件通常只被允许发送看似来自 *@component.domain.com 的节,而不是来自@ .domain.com 。这是一项安全功能。

如果你想要这个功能,你可能需要编写一个服务器插件而不是一个外部组件。

于 2010-12-19T23:57:16.637 回答
0

从技术上讲,您必须实际编写组件,但这很容易完成。您必须首先配置 ejabberd,以便它接受特定于您的组件的连接,具有给定的组件 JID 和密码。默认配置文件有几个示例,例如网关。

完成此操作后,将 XMPP 库/客户端与此组件的凭据连接起来,您应该一切顺利!唯一的限制是您发送有效的 XML。

于 2010-11-18T11:44:44.367 回答