Назад | Перейти на главную страницу

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>

Мне интересно, сбрасывает ли этот метод = PLAIN все, если предполагается, что он использует TLS.

У меня есть dovecot / postfix, настроенный на бэкэнде с виртуальными пользователями / доменами / псевдонимами в базе данных mysql. Я попытался отправить сообщение на эти адреса, и они перенаправляются на правильный псевдоним адреса электронной почты. Итак, насколько мне известно, dovecot и postfix работают правильно.

Что я могу сделать, чтобы решить эту проблему?

Я понял это. Я не указывал домен с именем пользователя. Мне пришлось обновить файл roundcube config.inc.php со следующей строкой:

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

Это позволило мне использовать roundcube с любого из моих доменов (mail.domain1.com, mail.domain2.com и т. Д.) Без указания имени домена в поле «Имя пользователя».