Gestione vacation con Roundcube

From RVM Wiki
Jump to navigation Jump to search

Versione 1.x

In questa versione il plugin managesieve è di default, e gestisce sia i filtri che il vacation.

  • Configurare Dovecot 2 con managesieve
  • Se si vuole il vacation:
cd /var/www/roundcube/plugins/managesieve/
sudo cp config.inc.php.dist config.inc.php
sudoedit config.inc.php
$config['managesieve_vacation'] = 1;
  • Abilitare il plugin managesieve:
sudoedit /var/www/roundcube/config/config.inc.php 
$config['plugins'] = array('managesieve');

Versione 0.x

Prerequisiti

Backend Sieve

Installazione plugin

  • Verificare che il plugin managesieve sia presente
/bin/ls /var/www/roundcube/plugins/managesieve/ -d

/var/www/roundcube/plugins/managesieve/
  • Scaricare il plugin
cd /var/www/roundcube/plugins
sudo wget "http://switch.dl.sourceforge.net/project/rcubevacation/Version%201.9/vacation-1.9.3.zip"
sudo unzip -x vacation-1.9.3.zip
sudo rm vacation-1.9.3.zip
sudo chown -R root:www-data vacation/
sudo chmod -R 644 vacation/
sudo chmod -R a+X vacation/
  • Applicare il patch per sieve:
cd vacation/lib
sudo wget "http://sourceforge.net/tracker/download.php?group_id=275030&atid=1168574&file_id=419067&aid=3375841" -O sieve.class.php
  • Impostare l'intervallo di spedizione dei messaggi ad 1 giorno alla riga 147 del file:
sudoedit sieve.class.php
'days'=>1,
  • Installare la traduzione in Italiano
cd ../localization
sudo wget "http://sourceforge.net/tracker/download.php?group_id=275030&atid=1168574&file_id=365273&aid=2962708" -O it_IT.inc
  • sistemare le permission
cd ..
sudo chown -R root:www-data .
sudo chmod -R 644 .
sudo chmod -R a+X .

Configurazione Plugin

  • Impostare la configurazione per sieve
cat | sudo tee config.ini >/dev/null <<EOFile
;
; Syntax of this file is identical to php.ini where string values need to be quo
; See remarks there.
;
; To overrule the default settings, create a per-host key.
; See examples at the buttom of INSTALL.TXT
;

[default]
driver = "sieve"
;defaultsubject = "Out Of Office Notifcation"
; non gestito da sieve
;defaultbody = "default.txt"
;non gestito da sieve
;host=localhost
; pare non gestito da sieve
port=2000
EOFile
  • Impostare il testo di default:
cat | sudo tee default.txt >/dev/null <<EOFile
Questa è una risposta Automatica.
I nostri uffici sono chiusi, risponderemo alla Vostra email al nostro rientro.

This is an automatic reply.
Our offices are closed, we will reply to you remail when we get back.
EOFile

Patch del plugin

  • Per risolvere il problema del messaggio di errore
Vacation plugin: Driver  cannot be loaded using plugins/vacation/lib/.class.php

applicare questo patch al file

plugins/vacation/lib/VacationConfig.class.php
171,172c171,175
<               $diff = array_diff_key($this->currentArr,array_flip(array_keys($keys)));
<
---
>               $diff = array_diff_key($this->currentArr,
>                                      array_flip(array_keys($keys)),
>                                      array('driver' => 1,
>                                            'body' => 1,
>                                            'subject' => 1)); 
174c177
<               if (! empty($diff) && !in_array(key($diff),array('driver','body','subject')))
---
>               if (! empty($diff))
177c180
<                       $this->hasError = sprintf("Invalid option found in config.ini for %s driver and section [%s]: %s is not supported",
---
>                       $this->hasError = sprintf("Invalid option found in config.ini for %s driver and section [%s]: '%s' is not supported",
189c192
< ?>
\ No newline at end of file
---
> ?>
  • Per risolvere il problema di sovrapposizione con il logo superiore di roundcube, aggiungere questa riga al file
sudoedit /var/www/roundcube/plugins/vacation/skins/default/vacation.css
#pagecontent {
    width: 800px;
    margin-top: 80px;

}
  • Per risolvere il problema di compatibilità con la versione 0.6, aggiungere il require di cube_sieve_script.php:
--- a/plugins/vacation/lib/sieve.class.php
+++ b/plugins/vacation/lib/sieve.class.php
@@ -22,6 +22,7 @@ class Sieve extends VacationDriver {
     {
         require_once(getcwd() . '/plugins/managesieve/lib/Net/Sieve.php');
         require_once(getcwd() . '/plugins/managesieve/lib/rcube_sieve.php');
+        require_once(getcwd() . '/plugins/managesieve/lib/rcube_sieve_script.ph
         parent::__construct();
     }

Attivazione plugin

sudoedit /var/www/roundcube/config/main.inc.php

$rcmail_config['plugins'] = array('vacation');

Riferimenti