ROUNDCUBE: различия между версиями
imported>Vix |
Vix (обсуждение | вклад) |
||
(не показаны 4 промежуточные версии 2 участников) | |||
Строка 113: | Строка 113: | ||
// environment defaults | // environment defaults | ||
this.env = { | this.env = { | ||
'''request_timeout: 600, // seconds | '''request_timeout: 600, // seconds''' | ||
'''_request_timeout: 180, // seconds''' | |||
draft_autosave: 0, // seconds | draft_autosave: 0, // seconds | ||
comm_path: './', | comm_path: './', | ||
Строка 128: | Строка 128: | ||
* [https://translated.turbopages.org/proxy_u/en-ru.ru.d28c420f-62972302-17600c4f-74722d776562/https/github.com/roundcube/roundcubemail/issues/4906 Взято тут...] | * [https://translated.turbopages.org/proxy_u/en-ru.ru.d28c420f-62972302-17600c4f-74722d776562/https/github.com/roundcube/roundcubemail/issues/4906 Взято тут...] | ||
==. '''Postgresql - addres book'''== | |||
* '''Ошибка: Database problem: 'roundcubemail.collected_addresses' doesn't exist in version 1.5.2''' | |||
Создание таблицы: | |||
* MySql: | |||
CREATE TABLE `collected_addresses` ( | |||
`address_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, | |||
`changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', | |||
`name` varchar(255) NOT NULL DEFAULT '', | |||
`email` varchar(255) NOT NULL, | |||
`user_id` int(10) UNSIGNED NOT NULL, | |||
`type` int(10) UNSIGNED NOT NULL, | |||
PRIMARY KEY(`address_id`), | |||
CONSTRAINT `user_id_fk_collected_addresses` FOREIGN KEY (`user_id`) | |||
REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, | |||
UNIQUE INDEX `user_email_collected_addresses_index` (`user_id`, `type`, `email`) | |||
) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; | |||
* Postgresql: | |||
CREATE TABLE collected_addresses ( | |||
address_id INT unique default '1' PRIMARY KEY, | |||
changed TIMESTAMP DEFAULT '1979-11-03 22:05:58' NOT NULL, | |||
name VARCHAR(255) DEFAULT '' NOT NULL, | |||
email VARCHAR(255) NOT NULL, | |||
user_id INT NOT NULL, | |||
type INT NOT NULL, | |||
CONSTRAINT user_id_fk_collected_addresses FOREIGN KEY (user_id) | |||
REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE | |||
); | |||
CREATE UNIQUE INDEX user_email_collected_addresses_index ON collected_addresses (user_id, type, | |||
email); | |||
* Postgresql права на таблицу: | |||
GRANT ALL PRIVILEGES ON collected_addresses TO roundcube; | |||
'''ИСТОЧНИКИ:''' | |||
<hr> | |||
* [https://github.com/roundcube/roundcubemail/issues/8409 Database problem: 'roundcubemail.collected_addresses' doesn't exist in version 1.5.2] | |||
* [https://stop-nelegal.ru/viewtopic.php?t=3885 Как обновить схему Roundcube Webmail "1.5.2 " в ручную.] |
Текущая версия от 10:53, 23 июня 2023
. Global Address Book for Roundcube
.Roundcube из коробки поддерживает LDAP..
Смотрите файл config/defaults.inc.php для примера (раздел ADDRESSBOOK SETTINGS)
- читать LDAP-Address-Books
Если же надо использовать SQL, то есть соответствующий плагин globaladdressbook
. Добавление плагина roundcube для антиспама
Всем доброго времени суток. Сегодня я расскажу Вам как поставить плагин на веб морду (riundcube) появится кнопка пометить как спам и наоборот вытащить из спама (т.е. снять метку СПАМ) Приятная особенность плагина состоит в том, что он позволяет через sa-learn обучать SpamAssassin
И так поехали
Скачиваем плагин, можно здесь
вытаскиваем из архива и помещаем его в плагины riundcube. Путь примерно такой /roundcubemail/plugins
Далее:
Редактируем конфиг main.inc.php
находим параметр
$rcmail_config['plugins'] = array(); и дополняем его $rcmail_config['plugins'] = array(markasjunk2);
если у вас уже стоят плагины, просто перечисляете их через запятую
Открываем конфиг плагина plugins/markasjunk2/config.inc.php
если файла "config.inc.php", нет создаем его из исходного "config.inc.php.dist"
находим параметр
$rcmail_config['markasjunk2_learning_driver'] = null;
и меняем значение на 'cmd_learn'
$rcmail_config['markasjunk2_learning_driver'] = 'cmd_learn';
дальше находим параметр
$rcmail_config['markasjunk2_spam_cmd'] = null;
и меняем его на
$rcmail_config['markasjunk2_spam_cmd'] = 'sa-learn --spam --no-sync --username=%u %f';
где %u - имя пользователя, %f - полный путь к письму.
Таким образом мы 'sa-learn' указываем письмо %f как СПАМ, а эти настройки просим применить для пользователя %u.
аналогично исправляем параметр
$rcmail_config['markasjunk2_ham_cmd'] = null;
на
$rcmail_config['markasjunk2_ham_cmd'] ='sa-learn --ham --no-sync --username=%u %f';
это обучит SpamAssassin пропускать нормальную почту.
Последний этап, это смена кодировки:
открываем конфиг RoundCube
roundcubemail/config/main.inc.php
находим эту запись:
// Use this charset as fallback for message decoding $rcmail_config['default_charset'] = 'ISO-8859-1';
и меняем кодировку на UTF-8
// Use this charset as fallback for message decoding $rcmail_config['default_charset'] = 'UTF-8';
. Добавление плагина календарь в RoundCube
1. Скачиваем тут 2. Устанавливаем утилиту lessc
apt-get install node-less
3. Выполняем все по инструкции:
... 1. Get the source from git $ cd /tmp $ git clone https://git.kolab.org/diffusion/RPK/roundcubemail-plugins-kolab.git $ cd /<path-to-roundcube>/plugins $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/calendar . $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/libcalendaring . $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/libkolab . 2. Create calendar plugin configuration $ cd calendar/ $ cp config.inc.php.dist config.inc.php $ edit config.inc.php 3. Initialize the calendar database tables $ cd ../../ $ bin/initdb.sh --dir=plugins/calendar/drivers/database/SQL 4. Build css styles for the Elastic skin $ lessc --relative-urls -x plugins/libkolab/skins/elastic/libkolab.less > plugins/libkolab/skins/elastic/libkolab.min.css 5. Enable the calendar plugin $ edit config/config.inc.php Add 'calendar' to the list of active plugins: $config['plugins'] = array( (...) 'calendar', );
- Внимание - календарь работает только в skin 'elastic'
. Roundcube поиск в письмах больше 2000
В php.ini:
max_execution_time = 600 max_input_time = 600
В app.js:
// environment defaults this.env = { request_timeout: 600, // seconds _request_timeout: 180, // seconds draft_autosave: 0, // seconds comm_path: './', recipients_separator: ',', recipients_delimiter: ', ', popup_width: 1150, popup_width_small: 900 };
В app.min.js дописать в сл. строке:
... this.env={request_timeout:600,draft_autosave:0,comm_path:"./",recipients_separator:",",recipients_delimiter:", ",popup_width:1150,popup_width_small:900};
. Postgresql - addres book
- Ошибка: Database problem: 'roundcubemail.collected_addresses' doesn't exist in version 1.5.2
Создание таблицы:
- MySql:
CREATE TABLE `collected_addresses` ( `address_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00', `name` varchar(255) NOT NULL DEFAULT , `email` varchar(255) NOT NULL, `user_id` int(10) UNSIGNED NOT NULL, `type` int(10) UNSIGNED NOT NULL, PRIMARY KEY(`address_id`), CONSTRAINT `user_id_fk_collected_addresses` FOREIGN KEY (`user_id`) REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE INDEX `user_email_collected_addresses_index` (`user_id`, `type`, `email`) ) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- Postgresql:
CREATE TABLE collected_addresses ( address_id INT unique default '1' PRIMARY KEY, changed TIMESTAMP DEFAULT '1979-11-03 22:05:58' NOT NULL, name VARCHAR(255) DEFAULT NOT NULL, email VARCHAR(255) NOT NULL, user_id INT NOT NULL, type INT NOT NULL, CONSTRAINT user_id_fk_collected_addresses FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE UNIQUE INDEX user_email_collected_addresses_index ON collected_addresses (user_id, type, email);
- Postgresql права на таблицу:
GRANT ALL PRIVILEGES ON collected_addresses TO roundcube;
ИСТОЧНИКИ: