自定义Rouncube webmail服务器列表

时间:2016-06-16 18:44:28

标签: php email roundcube

我有 - 最新版本1.2.0 - webmail与一起使用。我在该服务器上托管多个域,并使用IIS作为Roundcube的Web服务器。可以通过https://mail.xxxx.tld访问网络邮件,其中xxxx是我托管的域名。

所有域名使用IIS的网站设置中的bindings仅指向IIS上的一个网站。

在Roundcube config.inc.php中:

  

$ config [' default_host'] =数组(' mail.x1.net',' mail.x2.net',   ' mail.x3.org',' mail.x4.net');

因此,在登录页面中有服务器列表,如下面的屏幕截图所示:

enter image description here

默认情况下,始终选择服务器列表中的第一个服务器。我需要得到的是根据访问登录页面的URL来制作所选服务器甚至使单个服务器可用。

现在,我并不意味着如何实现它,无论是使用javascript的客户端还是使用PHP的服务器端,我只是想在哪里能够应用该需求的任何实现?

我尝试修改skins/larry/templates/login.html,但除了以下内容之外,我无法找到登录表单的任何详细信息:

<roundcube:form name="form" method="post">
<roundcube:object name="loginform" form="form" size="40" submit=true />
</form> 

换句话说,所有三个表单元素,用户名,密码和服务器都是从<roundcube:object name="loginform" form="form" size="40" submit=true />生成的,那么我在哪里可以修改此对象?

1 个答案:

答案 0 :(得分:0)

我发现有两种方法:

  1. 很长的路要走,研究Roundcube API并构建一个插件。
  2. 简短的方法,在skins/larry/templates/login.html
  3. 的末尾添加一个小脚本

    以下是我添加的脚本:

    <script>
    /* By: Said Bakr
     Making only one select list server item equals to the current host.
    */
    $(document).ready(function() {
        my_host = $(location).attr('hostname');
        $("#rcmloginhost option").each(function(){
          if ($(this).val().replace(/^(.*)\:\/\//i, "") != my_host){
            $(this).remove();
          } 
        })
    });
    </script>
    </body>