# Howto Roundcube

Sous licence libre GPL, roundcube est un client de messagerie utilisant l'IMAP.
D'autres alternatives existent tel que rainloop, SOGo, Squirrelmail,...

## Installation 

Rien de plus simple :

~~~
# apt install roundcube
~~~

Le fichier de configuration principale est `/etc/roundcube/defaults.inc.php`

## Plugin sieve

Celui-ci permet l'usage des filtres.

~~~
# apt install roundcube-plugins-extra
~~~

On pourra l'activer ainsi :

~~~
$config['plugins'] = array('sieverules');
~~~

La configuration des règles se ferront dans `/etc/roundcube/plugins/sieverules/config.inc.php`.

## Plugin vacation

Il est utilisé lorsque l'utilisateur du compte mail est en vacances par exemple.

<http://sourceforge.net/projects/rcubevacation/>

Patch UTF-8 : <http://paste.evolix.org/paste/117/>

## Plugin password

Son utilisé résulte sur la possibilité de changer son propre mot de passe avec de nombreux connecteurs tel que dovecot, LDAP, etc.

On pourra l'activer ainsi :

~~~
$config['plugins'] = array('sieverules');
~~~

Pour les comptes mails stockés dans LDAP il faudra installer `php-net-ldap2` et mettre en place le fichier `/etc/roundcube/plugins/password/config.inc.php` suivant :

~~~
<?php
$rcmail_config['password_driver'] = 'ldap';
$rcmail_config['password_minimum_length'] = 6;
$rcmail_config['password_ldap_host'] = 'localhost';
$rcmail_config['password_ldap_port'] = '389';
$rcmail_config['password_ldap_version'] = '3';
$rcmail_config['password_ldap_basedn'] = 'dc=example,dc=com';
$rcmail_config['password_ldap_method'] = 'user';
$rcmail_config['password_ldap_search_filter'] = '(uid=%login)';
$rcmail_config['password_ldap_pwattr'] = 'userPassword';
$rcmail_config['password_ldap_encodage'] = 'ssha';
?>
~~~

## Mailbox doesn’t exist

Si nous avons par exemple l'erreur suivante : "UID MOVE : Mailbox doesn’t exist : Trash"

On devra activer cette option :

~~~
$config['create_default_folders'] = true;
~~~

## Mode debug

Activer la directive suivante :

~~~
$config['imap_debug'] = true;
~~~

Les messages d'erreurs seronts dans le log /var/log/syslog

## Import de contacts en CSV 

<https://www.pokorra.de/2017/01/import-contacts-via-csv-into-roundcube/>

## FAQ

### Après une upgrade

#### Problème d’envoi de pièce jointe

On a des erreurs de ce genre dans les logs de Roundcube `/var/log/roundcube/errors` lorsqu’on essaye d’envoyer une pièce jointe dans un e-mail.

```
[01-Jan-2020 00:00:00 +0200]: <abcd1234> PHP Error: compte@domaine.com can't read /tmp/rcmAttmntQ2clsS (not in temp_dir) in /usr/share/roundcube/plugins/filesystem_attachments/filesystem_attachments.php on line 216 (POST /?_task=mail&_unlock=loading1599225495530&_lang=undefined&_framed=1&_action=send)
```

C’est probablement le `tempdir` qui a changé de propriétaire au moment de l’upgrade.

```
# chown www-roundcube:roundcube /var/lib/roundcube/temp
```