Почта

/
/
Общая адресная книга в Roundcube

Общая адресная книга в Roundcube

Для создания общей адресной книги в Roundcube, необходимо скачать и настроить плагин Roundcube Webmail GlobalAddressbook.

Скачайте, распакуйте и перенесите файлы в каталог плагинов Roundcube:

wget -q "https://github.com/johndoh/roundcube-globaladdressbook/archive/refs/heads/master.zip" -O /tmp/plugin.zip && \
unzip -q /tmp/plugin.zip -d /tmp && \
mv /tmp/roundcube-globaladdressbook-master /usr/share/roundcube/plugins/globaladdressbook && \
rm -f /tmp/plugin.zip
wget -q "https://github.com/johndoh/roundcube-globaladdressbook/archive/refs/heads/master.zip" -O /tmp/plugin.zip && \
unzip -q /tmp/plugin.zip -d /tmp && \
mv /tmp/roundcube-globaladdressbook-master /usr/share/roundcubemail/plugins/globaladdressbook && \
rm -f /tmp/plugin.zip

Переименуйте шаблон конфигурационного файла:

mv /usr/share/roundcube/plugins/globaladdressbook/config.inc.php.dist /usr/share/roundcube/plugins/globaladdressbook/config.inc.php
mv /usr/share/roundcubemail/plugins/globaladdressbook/config.inc.php.dist /usr/share/roundcubemail/plugins/globaladdressbook/config.inc.php

Далее вы можете настроить адресную книгу по своему усмотрению, например имя книги, права доступа, группы и так далее.

В конфигурационный файл Roundcube /etc/roundcube/config.inc.php (для RHEL-based систем путь /etc/roundcubemail/config.inc.php) добавляем имя плагина в список:

$config['plugins'] = array(
        'autologin',
        'globaladdressbook',
);

В панели ispmanager 6

Если вы используете Roundcube из панели ispmanager 6, необходимо будет внести изменения в работу плагина, а именно - заменить функцию str_contains на её классический аналог strpos. Это связано с тем, что плагин написан для работы на PHP 8-ой версии, в то время как Roundcube в ispmanager 6 использует для работы PHP 7.4.

Для этого выполните следующие команды:

sed -i '166s/(str_contains($username, '\''@'\'')/(strpos($username, '\''@'\'') !== false/g' /usr/share/roundcube/plugins/globaladdressbook/globaladdressbook.php
sed -i '254s/(str_contains($str, '\''%i'\''))/(strpos($str, '\''%i'\'') !== false)/g' /usr/share/roundcube/plugins/globaladdressbook/globaladdressbook.php
sed -i '166s/(str_contains($username, '\''@'\'')/(strpos($username, '\''@'\'') !== false/g' /usr/share/roundcubemail/plugins/globaladdressbook/globaladdressbook.php
sed -i '254s/(str_contains($str, '\''%i'\''))/(strpos($str, '\''%i'\'') !== false)/g' /usr/share/roundcubemail/plugins/globaladdressbook/globaladdressbook.php

В этой статье