Ejabberd虚拟主机公告昵称

时间:2019-02-09 15:32:14

标签: configuration ejabberd

当我向ejabberd中的用户发送公告(例如使用“向所有主机上的所有用户发送公告”)时,收件人将其视为来自虚拟主机的消息,昵称为“ ejabberd”,对用户而言尚不清楚。

我想知道如何将“ ejabberd”这个昵称更改为更方便的名称吗?

很奇怪,文档中绝对没有关于此的信息,甚至没有其他人对此的疑问。没有人在乎这怎么可能?也许我的ejabberd配置有问题,默认情况下虚拟主机不应该有“ ejabberd”昵称吗?

2 个答案:

答案 0 :(得分:1)

在我的测试中,用户收到带有虚拟主机作为发件人地址的邮件:

<message to='user1@localhost/tka1'
    from='localhost'
    type='headline'>
  <body xml:lang='en'>Hi

This is the content.

The localhost admins.</body>
  <subject xml:lang='en'>This is the subject</subject>
</message>

我在协议中没有看到有关其外观的示例:https://xmpp.org/extensions/xep-0133.html#announce

答案 1 :(得分:1)

尝试添加此选项:

  mod_disco:
    name: "ejabberd server"

关于服务器vcard,请尝试以下补丁:

--- a/src/mod_vcard.erl
+++ b/src/mod_vcard.erl
@@ -197,7 +197,7 @@ process_local_iq(#iq{type = set, lang = Lang} = IQ) ->
     xmpp:make_error(IQ, xmpp:err_not_allowed(Txt, Lang));
 process_local_iq(#iq{type = get, lang = Lang} = IQ) ->
     xmpp:make_iq_result(
-      IQ, #vcard_temp{fn = <<"ejabberd">>,
+      IQ, #vcard_temp{fn = <<"ejabberd server nickname">>,
                      url = ejabberd_config:get_uri(),
                      desc = misc:get_descr(Lang, ?T("Erlang Jabber Server")),
                      bday = <<"2002-11-16">>}).