我已经安装了 postfixadmin 2.3.6,并且正在使用 squirrelmail 休假插件。Postfixadmin 运行良好,我可以添加/编辑/删除电子邮件帐户和休假或转发/别名。我在 squirrelmail 插件上使用 xmlrpc 时遇到问题。
我已经配置如下:
postfixadmin 配置.inc.php
$CONF['xmlrpc_enabled'] = true;
$CONF['vacation'] = 'YES';
$CONF['vacation_control'] ='YES';
$CONF['vacation_control_admin'] = 'YES';
在 postfixadmin squirrelmail 配置上
global $AllowVacation;
$AllowVacation = true;
是的,我有正确的 URL
$CONF['xmlrpc_url'] = 'http://my-domain/xmlrpc.php';
我使用的是已经安装了 xmlrpc 模块的 PHP 5.3,zendframework1,但是当我登录 squirrelmail 然后去休假时,我可以输入密码,但是我得到了
Failed to login to xmlrpc instance
这是 squirrelmail 所在的虚拟 apache2 错误日志
[Sun Mar 09 16:31:47 2014] [error] [client my-ip] PHP 2. get_xmlrpc()
/home/squirrelmail/plugins/postfixadmin/postfixadmin_vacation.php:5, referer:
https://my-domain/plugins/postfixadmin/postfixadmin_vacation.php
[Sun Mar 09 16:31:47 2014] [error] [client my-ip] Failed to login to xmlrpc instance - ,referer:
https://mydomain/plugins/postfixadmin/postfixadmin_vacation.php
我有 squirrelmail 和 postfixadmin,其中 xmlrpc.php 位于两个不同的域上,但位于同一台服务器上
https://domain/squirrelmail
http://domain2/postfixadmin
我不知道哪里出了问题,我尝试了一切方法:) 也许你们中的一些人遇到了同样的问题并解决了?
答案1
这个漏洞已经存在很久了,但仍然有效。
您的错误信息不完整:
无法登录 xmlrpc 实例 - ,
应使用错误本身进行扩展。例如,我(仍然)有:
Failed to login to xmlrpc instance - Unable to Connect to ssl://xx.xxx.xx.xxx:443. Error #0
如何做到这一点:更改 /usr/share/squirrelmail/plugins/postfixadmin/functions.inc.php 中的 functions.php,函数末尾需要 () 来获取错误消息
error_log("Failed to login to xmlrpc instance - " . $e->getMessage);
进入
error_log("Failed to login to xmlrpc instance - " . $e->getMessage());
要明确的是:这不是解决方案,但至少你知道错误是什么。我仍在研究这个问题,就我而言,它与 ssl: 和 xmlrpc 连接中的证书有关。
postfixadmin 2.3.7 已发布,解决了一些错误。3 个问题与休假有关。因此请升级到 2.3.7
不要忘记从 postfixadmin 分发 /VIRTUAL_VACATION/ 复制 vacation.pl 并在该文件中进行配置。