Webmail Squirrelmail

De wikilivois
Sauter à la navigation Sauter à la recherche

http://www.squirrelmail.org

Package Gentoo: squirrelmail

Le webmail permet d'accéder à ses mails à partir de n'importe quel poste équipé d'un navigateur web et connecté à Internet.

Squirrelmail propose :

  • une interface agréable et paramétrable pour éditer / visualiser ses mails
  • la possibilité d'aller chercher des mails de comptes d'hébergeurs de type wanadoo,free, hotmail, yahoo ...
  • la gestion du carnet d'adresse

Installation

Installation et configuration de base

http://www.squirrelmail-fr.org/index.php?page=installation
http://www.squirrelmail.org/wiki/InstallingSquirrelMail

Remarque: On notera <squirrelmail> le répertoire où est installé Squirrelmail. Les plugins installés seront marqués sur fond vert. Les plugins non installés mais digne d'intérêt seront sur fond rouge dans les tableaux.

#emerge squirrelmail

Lorsque le drapeau 'vhosts' est activé dans /etc/make.conf

#webapp-config -I -h <www> -d squirrelmail squirrelmail <version>
#cd  <squirrelmail>

Le fichier « config/admins » contient la liste des logins des utilisateurs qui ont accès aux options d'administration.
Attention, une ligne ne doit contenir qu'un seul login et le fichier doit se terminer par un saut de ligne.

La configuration du serveur se fait par la commande:

#./config/conf.pl
SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1.  Organization Preferences
2.  Server Settings
3.  Folder Defaults
4.  General Options
5.  Themes
6.  Address Books
7.  Message of the Day (MOTD)
8.  Plugins
9.  Database
10. Languages

D.  Set pre-defined settings for specific IMAP servers

C   Turn color on
S   Save data
Q   Quit

Command >>

« 1. Organization Preferences » définit des paramètres du type le nom de l'organisation, son logo, ... »
« 2. Server Settings » les paramètres de messagerie:

1.  Domain                 : livois.com
2.  Invert Time            : false
3.  Sendmail or SMTP       : SMTP

A.  Update IMAP Settings   : localhost:143 (courier)
B.  Update SMTP Settings   : localhost:25

Il est intéressant de définir en A le type de serveur IMAP utilisé.

« D. Set pre-defined settings for specific IMAP servers » Choisir le serveur qui convient (courier en l'occurence).

Choix du thème par défaut

« Themes » permet de définir le thème par défaut pour tous les utilisateurs.

Choix de la langue

« Languages » permet le choix de la langue.

Aller sur http://www.squirrelmail.org/download.php

Télécharger les fichier de langues qui correspond(ex fr_FR...) et le déposer dans le répertoire squirrelmail.

#cd <squirrelmail>
#tar jxvf fr_FR...
#./config/conf.pl

Choisir « 10. Languages »

Language preferences
1.  Default Language       : fr_FR
2.  Default Charset        : iso-8859-1
3.  Enable lossy encoding  : false

Tester la configuration

La page web <squirrelmail>/src/configtest.php permet de tester la configuration.
Naviguer sur <www-squirrelmail> avec un navigateur ...

Squirrelmail 1.5

* You must edit the following configuration files to setup your server.
* Note that not all of them may be present depending on USE flags.
*
* config/config.php
* plugins/retrieveuserdata/config.php
* plugins/virus_scan/config.php
* plugins/gpg/gpg_local_prefs.txt
* plugins/ldapuserdata/config.php
* plugins/show_ssl_link/config.php
* plugins/secure_login/config.php
*
* You should also create the file 'config/admins'
* containing the users who should have access to administrative options.
* Put each login on its own line, and be sure to leave a newline at the
* end of the file.
*
* You can use the console based configuration tool by executing:
* cd config; perl conf.pl

Ajout de fonctionnalités

http://www.squirrelmail.org/plugins.php

Exemple d'installation d'un plugin

Le répertoire de plugins se trouve dans <squirrelmail>/plugins/

Ex: Change LDAP Password

#cd <squirrelmail>/plugins/
#tar zxvf change_ldappass-<version>.tar.gz
#cd change_ldappass
#cp  config.php.sample config.php
#vi config.php
# ../config/conf.pl (choisir 8 puis choisir le n° du plugin à activer)

Les plugins de gestion des mails

Nom du plugin Description
msg_flags

Message Flags & Icons: ce plugin apporte un réel plus esthétique avec l'apport d'icônes pour les dossiers et les messages. Attention, il faut patcher squirrelmail: patch -p0 < ./msg_flags-squirrelmail-1.4.3a.diff

autocomplete

Autocomplete: pendant l'écriture du nom d'un destinataire, squirrelmail recherche dans le carnet d'adresse et propose une complétion du nom – fonctionne pour IE.

view_as_html

View As HTML:permet d'afficher les messages en mode html.

unsafe_image_rules

Unsafe Image Rules: dans l'affichage html, les images sont blockées pour éviter de cliquer sur des liens à spam. Ce plugin permet d'autoriser l'affichage des images selon des règles plus ou moins strictes.

html_mail

HTML Mail: permet aux utilisateurs IE5.5 et mozilla 1.4 de rédiger des messages en html.

preview_pane

Preview Pane : Donne lapossibilité de voir le contenu d'un message sous la liste de message, comme le propose des outils tels qu'outlook et thunderbird. Attention, il faut patcher squirrelmail: patch -p0 < plugins/preview_pane/patches/preview_pane_squirrelmail-1.4.3.diff

quota_usage

Quota Usage: View quota and current usage

G/PGP Encryption Plugin: Add gpg encryption functionality to SM
S/MIME verification: This plugin does verification of s/mime signed messages

« Popper » des mails d'autres hébergeurs

Plugin mail fetch

Nom du plugin Description
mail_fetch Mail Fetch: Récupère les mails d'autre comptes POP.

Ce plugin permet aux utilisateurs de récupérer leurs mails des comptes dont l'hébergeur propose un service POP (free, wanadoo, gmail).

Freepopsd

http://www.freepops.org

Package Gentoo: freepopsd

Cet programme de récupére les mails des webmails les plus connus (hotmail, yahoo, mail.com) à partir d'une requête POP. Les paramètres basiques sont définis dans /etc/conf.d/freepopsd. Il est possible de changer:

  • le port du serveur POP (2000 par défaut),
  • l'adresse d'écoute (bind address),
  • le fichier de log.

Ainsi, avec l'utilisation du plugin mail_fetch, les clients peuvent recevoir les mails des autres webmails en indiquant le login/mot de passe et l'adresse du serveur pop (localhost:2000).

Les webmail évoluant vite, il est souvent nécessaire d'utiliser la dernière version. Par exemple, en utilisant le keyword ~x86 sous Gentoo:

  /etc/portage/package.keywords
net-mail/freepops ~x86


Pour accéder à yahoo.fr, il faut rajouter une ligne dans config.lua (version 0.9.6)

  /etc/freepops/config.lua
-- yahoo
freepops.MODULES_MAP["yahoo.com"]       = {name="yahoo.lua"}
freepops.MODULES_MAP["yahoo.fr"]        = {name="yahoo.lua"}


Mise a jour des plugins lua:

#freepops-updater-dialog
#freepopsd -e updater.lua php fetch_modules_metadata
#freepopsd -e updater.lua php fetch_module hotmail

Les carnets d'adresses

Squirrelmail

#./config/conf.pl

Choisir Address Books (6)

Address Books
1.  Change LDAP Servers
    >  localhost
2.  Use Javascript Address Book Search          : true
3.  Global file address book                    : global.abook
4.  Allow writing into global file address book : true

Choisir Change LDAP servers (1) pour ajouter ou retirer des annuaires LDAP.

Pour proposer aux utilisateurs un annuaire commun, créer le fichier global.abook dans /data et accessible en écriture à apache.

L'option 4 permet d'autoriser les utilisateurs à ajouter et supprimer des adresses dans cet annuaire. Attention à la sauvegarde au cas où un utilisateur commet une erreur!

Les plugins

Nom du plugin Description
address_add

Address Add: permet d'ajouter une adresse dans le carnet d'adresse personnel en rajoutant un lien en dessous du champ from.

abook_take

Address Take: bouton ajouter à la fin du mail afin d'ajouter l'adresse dans lecarnet d'adresse. Je préfère le plugin address_add.

abook_import_export

Addressbook Import-Export: permet l'import et l'export de carnet d'adresse au format CSV.

ldifimport

LDIF Address Book Import: importe les carnets d'adresse au format LDIF.

ldapquery

LDAP Query plugin: permet lesrecherches dans un annuaire LDAP. Attention, ce plugin nécessite que les utilisateurs fassent partie d'un objectclass « posixaccount ». Editer config.php pour éditer les champs affichés et les requêtes possibles.

Autres fonctionnalités

Nom du plugin Description
login_auth

HTTP Authentication: Permet à l'utilisateur d'arrriver directement sur son compte après une authentification HTTP, sans passer par la page d'authentification de squirrelmail.

change_ldappass

Change LDAP Password: Permet à l'utilisateur de changer son mot de passe paramétré dans LDAP. Dans config.php: indiquer les attributs qui du mot de passe et l'authentification LDAP si nécessaire

vlogin

Virtual Host Login: Permet l'hébergement d'un seul squirrel mail pourplusieurs domaines

calendar

calendar_file_backend

Shared Calendars: Apporte la fonctionnalité de calendrier partagé. (remplace le calendrier par défaut) Configuration: il est nécessaire d'installer un backend (file ou sql). enlever le calendrier par défaut: mv calendar calendar.orig tar zxvf shared_calendars cd calendar/data cp config.php.sample config.php

Optimisation des performances

http://www.squirrelmail.org/wiki/find/SquirrelMailPerformance

Gestion du tri par le serveur IMAP

Si le serveur IMAP gère le « threading » et le tri , il faut les activer. Ce sera plus efficace que le code PHP de Squirrelmail.

Le test suivant permet de vérifier, la gestion de ces fonctionnalités par le serveur IMAP.

#telnet imapserver.example.com imap
* OK 
2 capability
* CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN STARTTLS
2 OK CAPABILITY completed

Ici le serveur courier-imap gère les « THREAD » et le « SORT ».
On peut donc changer les options 10 et 11 du menu 4 « General Options ».

4. General Options
10.Allow server thread sort: false (default) -> true
11. Allow server-side sorting: false (default) -> true

Désactiver le plugin Filter

Filter Plugin - The SquirrelMail Filter plugin is a real performance hit. Use it only when you can't use server-side filtering - While you can use the Filter plugin to sort messages into different folders, it's (harder to set up but) more efficient to do the filtering outside PHP at mail delivery. There are a million different ways to do this, each dependent upon your configuration. Procmail and SIEVE may be worth looking into. Check the Plugins section of this site under Filters & Spam. http://www.squirrelmail.org/plugins_category.php?category_id=3

Garder un cache des connexions avec IMAPProxy

IMAP Proxy - this is a caching IMAP proxy server. Because SquirrelMail is not stateful, it must reconnect to the IMAP server on every page. The caching server sits in between and keeps the connection open, thus eliminating the time necessary to establish a new connection. It does this by intercepting the LOGOUT command and keeping the connection logged in. To download the free open-source IMAP Proxy, visit http://www.imapproxy.org

Package Gentoo : up-imapproxy

Accélerateur de pages PHP

http://meta.wikimedia.org/wiki/PHP_caching_and_optimization

Package Gentoo: dev-php4/eaccelerator

EAccelerator - http://eaccelerator.sourceforge.net/ This is a fork of the old Turck MMCache project which is now discontinued. Improvements have been made so this is more stable and also supports PHP5 now. Version 0.9.3 at the time of this update is stable and has decreased page time and load on my SM server greatly. This is a GPL project.

Copyright

© 2006 Christophe de Livois

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL.