iRedMail и Roundcube
После установки и настройки iRedMail мы получаем удобный почтовый клиент Roundcube.
Давайте немного его улучшим для работы.
установим необходимые компоненты и обновим существующие модули
sudo apt install composer php-ldap
cd /opt/www/roundcubemail
sudo composer update
установим и включим контекстное меню
sudo composer require johndoh/contextmenu
установим и включим календарь
sudo composer require kolab/calendar
отредактируем файл с конфигурацией Roundcube /opt/www/roundcubemail/config/config.inc.php
// PLUGINS
$config['plugins'] = [
'managesieve',
'password',
'zipdownload',
'acl',
'markasjunk',
'contextmenu',
'libkolab',
'libcalendaring',
'calendar',
];
убедитесь, что у вас в списке плагинов есть ’acl’ и ’markasjunk’, первый отвечает за расшаривание почтовых папок, второй за манипуляции со СПАМ сообщениями.
включим возможность отмечать сообщения как СПАМ
отредактируем файл с конфигурацией ’markasjunk’ /opt/www/roundcubemail/plugins/markasjunk/config.inc.php
и укажем следующие значения для параметров:
$config['markasjunk2_learning_driver'] = 'cmd_learn';
$config['markasjunk2_spam_cmd'] = '/usr/bin/sa-learn --spam --username=amavis %f';
$config['markasjunk2_ham_cmd'] = '/usr/bin/sa-learn --ham --spam --username=amavis %f';
PS не забудьте разрешить php исполнение внешних команд, для этого отредактируйте файл /etc/php/7.4/fpm/php.ini
и удалите в параметре disable_functions значение shell_exec
disable_functions = posix_uname,eval,pcntl_wexitstatus,posix_getpwuid,xmlrpc_entity_decode,pcntl_wifstopped,pcntl_wifexited,pcntl_wifsignaled,phpAds_XmlRpc,pcntl_strerror,ftp_exec,pcntl_wtermsig,mysql_pconnect,proc_nice,pcntl_sigtimedwait,posix_kill,pcntl_sigprocmask,fput,phpinfo,system,phpAds_remoteInfo,ftp_login,inject_code,posix_mkfifo,highlight_file,escapeshellcmd,show_source,pcntl_wifcontinued,fp,pcntl_alarm,pcntl_wait,ini_alter,posix_setpgid,parse_ini_file,ftp_raw,pcntl_waitpid,pcntl_getpriority,ftp_connect,pcntl_signal_dispatch,pcntl_wstopsig,ini_restore,ftp_put,passthru,proc_terminate,posix_setsid,pcntl_signal,pcntl_setpriority,phpAds_xmlrpcEncode,pcntl_exec,ftp_nb_fput,ftp_get,phpAds_xmlrpcDecode,pcntl_sigwaitinfo,pcntl_get_last_error,ftp_rawlist,pcntl_fork,posix_setuid
ну и перезапустим php
sudo service php7.4-fpm restart
Более полный список расширений вы сможете найти по ссылке: https://packagist.org/?type=roundcube-plugin