You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Ejabberd虚拟主机公告发送者的ejabberd昵称?

修改Ejabberd公告发送者昵称的方法

别担心,这不是你的配置出错了——ejabberd发送系统公告时,默认确实会用“ejabberd”作为显示昵称,发送者JID是ejabberd@<你的虚拟主机>,这是它的内置默认行为,只是官方文档没把这个自定义点明确列出来而已。

下面给你两种可行的解决方法,按需选择:

方法1:单次发送时手动指定昵称(临时修改)

如果你只是偶尔发送公告,想要临时换个昵称,可以用ejabberdctl的send_message命令代替默认的announce命令,这样能完全自定义发送者信息:

ejabberdctl send_message chat "notice@your-domain.com" "所有用户" "系统公告" "【重要通知】这里是你的公告内容"
  • "notice@your-domain.com":替换成你想要的发送者JID(不需要实际注册用户,ejabberd会自动识别为系统实体)
  • "系统公告":这就是接收方会看到的自定义昵称
  • 最后一段是公告正文

如果用Web管理界面,部分新版本的ejabberd admin后台在发送公告的表单里,会有“发送者”相关的选项,直接填写昵称即可;如果没有的话,用上面的命令行方式更稳妥。

方法2:修改配置永久设置默认昵称

如果希望所有系统公告都默认用自定义昵称,直接修改ejabberd的配置文件即可:

  1. 打开你的ejabberd.yml配置文件,找到modules节点下的mod_announce配置(如果没有就手动添加):
modules:
  mod_announce:
    access: announce
    sender: "system-notice@your-domain.com"
    sender_nickname: "官方通知"
  • sender:设置你想要的发送者JID
  • sender_nickname:填写接收方看到的昵称
  1. 保存配置后,重启ejabberd服务生效:
ejabberdctl restart

之后不管是用命令行还是Web界面发送公告,都会自动使用你设置的昵称了。

注意:如果你的ejabberd版本比较老旧(比如20.x之前),mod_announce可能不支持sender_nickname参数,这时候优先用方法1,或者考虑升级ejabberd到较新版本。

内容的提问来源于stack exchange,提问作者Dm1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:20:50