# 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 feront dans `/etc/roundcube/plugins/sieverules/config.inc.php`. ## Plugin vacation Il est utilisé lorsque l'utilisateur du compte mail est en vacances par exemple. On utilise généralement ce plugin avec le driver FTP lorsque l'on est dans un setup avec les utilisateurs en compte Unix. Il faut donc préalablement avoir installé Proftpd, avec le module ldap `proftpd-mod-ldap` et bien charger le module dans la configuration de proftpd. Au niveau de proftpd on utilise la configuration ldap suivante, dans `/etc/proftpd/ldap.conf` : ~~~ LDAPServer ldap://localhost/??sub LDAPBindDN "cn=admin,dc=example,dc=com" "PASSWORD" LDAPUsers "ou=people,dc=smsmode,dc=com" (uid=%u) (uidNumber=%u) LDAPAuthBinds on ~~~ Au niveau de la configuration du plugin vacation, on utilise la configuration suivante dans `/etc/roundcube/plugins/vacation/config.ini` : ~~~ [default] driver = "ftp" ;server = "localhost" subject = "Absence / Out of office" body = "default.txt" ;disable_forward = true [dotforward] binary = "/usr/bin/vacation" flags = "" message = ".vacation.msg" database = ".vacation.db" alias_identities = true set_envelop_sender = false always_keep_message = true ~~~ Il ne faut pas oublier également d'installer le paquet *vacation*. ## 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 : ~~~ ~~~ ## 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 ## 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]: 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 ```