13. 问题与解答

这里我回答用户向我提出的问题。如果您找不到答案,请随时与我联系

1. FAQ
13.1.1. web-cyradm 是否仅支持像“test0001”这样的用户?我想要一个更具描述性的用户名
13.1.2. 邮件被退回。Postfix/pipe 报错“邮箱不存在”。哪里出错了?
13.1.3. web-cyradm 报错“Fatal error: Call to undefined function: bindtextdomain() in /www/web-cyradm-0.5.3/index.php on line 46”,哪里出错了?
13.1.4. 我从 Web-cyradm 收到一个错误,如下所示:“Fatal error: Call to undefined function: query() in /usr/local/httpd/htdocs/web-cyradm/auth.inc.php on line 17”
13.1.5. 为什么选择 MySQL 而不是 LDAP?
13.1.6. 为什么选择 Postfix 而不是 Qmail?
13.1.7. 我收到一个错误:“Temporary lookup failure”(临时查找失败)
13.1.8. 此 HOWTO 适用于哪些平台?

1. FAQ

13.1.1. web-cyradm 是否仅支持像“test0001”这样的用户?我想要一个更具描述性的用户名

web-cyradm 也支持像“user.name.example.com”这样的用户名,如果您配置它的话。您需要更改 config.inc.php 并将 DOMAIN_AS_PREFIX 的值更改为 1。然后您需要在您的/etc/imapd.conf

13.1.2. 邮件被退回。Postfix/pipe 报错“邮箱不存在”。哪里出错了?

检查 web-cyradm (config.inc.php) 上的 cyrus 登录信息是否正确。用户名和密码必须存在于 MySQL 的 accountuser 表中。如果 cyrus 登录信息不正确,Web-cyradm 不会报错。

13.1.3. web-cyradm 报错“Fatal error: Call to undefined function: bindtextdomain() in /www/web-cyradm-0.5.3/index.php on line 46”,哪里出错了?

Web-cyradm 需要启用 gettext 的 PHP。请使用配置选项 --with-gettext 编译 PHP。

gettext 是 NLS(Native Language Support,本地语言支持)所必需的,这意味着贡献者可以轻松地将 web-cyradm 翻译成他们的语言。请在以下文件中填写您的语言/usr/local/apache/htdocs/web-cyradm/locale/templates/web-cyradm.pot并将文件发送给我,您的语言将在下一个 CVS 快照中得到支持

13.1.4. 我从 Web-cyradm 收到一个错误,如下所示:“Fatal error: Call to undefined function: query() in /usr/local/httpd/htdocs/web-cyradm/auth.inc.php on line 17”

Web-cyradm 依赖 PEAR 进行数据库抽象。PEAR 包含在最新的 PHP 版本中。通常 PEAR 是一个单独的软件包,请查看您的发行版的软件包库。我强烈建议无论如何都更新到最新版本的 PHP,因为已经修复了很多错误。

另一个原因可能是 MySQL 的身份验证错误。请确保用户“mail”有足够的权限访问数据库和表。

13.1.5. 为什么选择 MySQL 而不是 LDAP?

问得好。LDAP 是基于角色的,对于此类应用程序来说,它确实是一个更好的解决方案。不幸的是,LDAP 非常难设置。您必须制定合适的方案等等。MySQL 是一种直接的方法,它非常易于处理且用途广泛。有一个可用于 LDAP 的 PAM 模块,请随意使用它。

13.1.6. 为什么选择 Postfix 而不是 Qmail?

很多人希望看到使用 Qmail 的这种设置。原因是,Mysql 支持是一种 hack,并没有包含在主源代码树中。这可能会导致糟糕的情况。想想看,如果在 qmail 中发现了一个安全漏洞,而补丁不适用于更正后的版本。Postfix 原生支持 MySQL。另一个(个人)原因是,我发现 Postfix 更讨人喜欢(我不知道为什么)。

13.1.7. 我收到一个错误:“Temporary lookup failure”(临时查找失败)

Postfix 无法查找别名表。最常见的故障是 MySQL 没有运行,或者存在身份验证错误。检查/var/log/mail/usr/local/mysql/var/<hostname>.err以跟踪错误。

13.1.8. 此 HOWTO 适用于哪些平台?

它主要用于 Linux。到目前为止,我只在 Linux/IA32 上测试过它。很可能它也适用于其他架构。据报告 FreeBSD 工作正常。AIX 至少在 PHP 上存在问题。如果您在其他平台上成功运行它,请报告,以便我可以更新此部分。