Roundcube 和 PHP 5.6

Roundcube 和 PHP 5.6

自从将我的服务器升级到最新版本的 Debian 后,roundcube (1.2.3) 就不再工作了。原来这是因为新版本的 PHP (5.6) 现在会检查它是否是有效证书。进一步研究后,我发现我可以将以下几行添加到我的 config.inc.php 文件中:

$config['imap_conn_options'] = array(
    'ssl' => array(
      'verify_peer' => false,
      'verify_peer_name' => false
     )
 );


$config['smtp_conn_options'] = array(
    'ssl' => array(
       'verify_peer' => false,
       'verify_peer_name' => false
     )
 );

我还有以下设置:

$config['default_host'] = 'tls://localhost';

我正在为多个域使用此 roundcube 安装,因此不想在此处放置特定域。我也不想为证书付费,因此想将 verify_peer 设置为 false。

当我尝试登录时,系统提示“登录失败”。syslog 显示以下错误:

Feb  8 10:55:19 server1 dovecot: imap-login: Disconnected (auth failed, 1 attempts in 2 secs): user=<office>, method=PLAIN, rip=::1, lip=::1, TLS, session=<D+K0ugdIigAAAAAAAAAAAAAAAAAAAAAB>

我想知道如果应该使用 TLS,这种方法 = PLAIN 是否会导致事情发生偏差。

我在后端设置了 dovecot/postfix,并在 mysql 数据库中设置了虚拟用户/域/别名。我尝试向这些地址发送消息,它们确实被重定向到正确的别名电子邮件地址。所以,据我所知,dovecot 和 postfix 工作正常。

我该如何修复这个问题?

答案1

我已经搞清楚了。我没有用用户名指定域。我不得不用以下行更新我的 roundcube config.inc.php 文件:

$config['username_domain'] = '%d';

这使得我可以从我的任何域(mail.domain1.com、mail.domain2.com 等)使用 roundcube,而无需在用户名框中指定域名。

相关内容