我已经使用 .run 脚本安装了平台 /opt/ejabberd 和 /opt/ejabberd-20 中出现了两个目录...
我启动了注册用户服务并连接,Pidgin 运行良好,还将文件从一个成员发送到另一个成员。但我注意到没有存储离线消息并在稍后发送。
我开始深入研究ejabberdctl
以找出原因,并发现了这个无法用谷歌搜索到的问题:
所有模块指令均不会导致模块报告
,例如
./ejabberdctl modules_installed 没有返回任何内容...
./ejabberdctl module_check mod_offline 错误:错误 错误:not_available
当然,如果发生这些情况,我应该道歉,因为我是新用户
知道我做错了什么吗?
答案1
我注意到没有离线消息被存储并稍后发送。
出色地,
检查 ejabberd.yml 配置文件中是否启用了 mod_offline... 也许您安装的 ejabberd 版本的默认配置中未启用该模块。
如果该模块在该文件中列出,并且该文件被 ejabberd 读取,则检查 ejabberd 日志文件中是否有任何错误消息。
如果您在配置中进行了其他更改,例如设置 SQL 存储等,它们可能会破坏离线存储。
或者该功能可能正常工作,但您不了解其工作原理。当用户 1 在您的服务器中向用户 2 发送消息,但用户 2 未连接时,该消息将存储在离线表中。稍后当用户 2 以积极状态登录时,将发送离线消息。
您还可以检查离线消息是否已存储。如果使用默认的 mnesia 数据库,请参阅 ejabberd webadmin -> vhosts -> your vhost -> Users -> user2 -> Offline messages
./ejabberdctl modules_installed 没有返回任何内容...
这是正常的,因为这些命令指的是仅有的贡献模块:您以后可以从中安装的附加模块https://github.com/processone/ejabberd-contrib添加一些特定的功能。