Recent Changes - Search:

Accueil

OpenSSL

SyncML

Apache Portable Runtime

Libxml2

Net-snmp

CUrl

Boost

Perl

ZLib

Samba

VPN

Serveurs de messagerie

edit

CourierIMAP/Courier-imap

Voici un mémo sur la compilation du serveur IMAP courier pour OpenBSD

Préalablement à la compilation de courier-imap, nous commencerons par le télécharger depuis http://www.courier-mta.org/authlib/.
Il est important de décompresser les archives et de compiler les codes sources avec un autre user que ROOT, vous êtes prévenus !!

$ bunzip2 -d -v courier-authlib-0.58.tar.bz2
$ tar xf courier-authlib-0.58.tar
$ cd courier-authlib-0.58
$ ./configure
$ make
$ su root
# make install

Attaquons nous à courier-Imap,
$ bunzip2 -d -v courier-imap-4.1.1.tar.bz2
$ tar xf courier-imap-4.1.1.tar
$ cd courier-imap-4.1.1
$ ./configure
$ make

Vous obtenez un message d'erreur, courierauth.h: No such file or directory. ?
Pas d'inquiétude, le répertoire /usr/local/include n'est pas indiqué dans le fichier imap/Makefile.
Pour corriger cela le fichier de configuration doit être régenéré avec les options suivantes :
$ env CFLAGS="-I/usr/local/include $CFLAGS" ./configure --bindir=/usr/local/bin --mandir=/usr/local/man
$ make
$ su root
# make install
Le fichier de configuration doit être généré manuellement avec cette commande (le make install-configure ne fonctionnant pas chez moi): ./sysconftool /etc/courier/imapd.dist

Le serveur est maintenant compilé et installé. Il est démarrable par:
/usr/local/sbin/authdaemond start
/usr/lib/courier-imap/libexec/imapd.rc start

Premiers pas avec le protocole IMAP (RFC 2060).
A noter que les commandes sont préfixées par un identifiant changeant à chaque étape, bien que cela ne semble pas gêner Courier.
Très rapidement, j'ai voulu tester ma configuration avec un client de messagerie répandu (MS Outlook) et très rapidement aussi je me suis heurté au message suivant à la création de mes premiers dossiers:
j78y create test
j78y NO Invalid mailbox name.
signifiant qu'il n'est pas possible de créer le dossier à l'endroit indiqué ! Ici il s'agissait de la racine de mon compte Imap soit au même niveau que la Boîte de réception...
Après quelques heures de recherches (là je plaisante parce qu'en réalité j'y ai passé des soirées entières) et de nombreuses tentatives pour faire fonctionner mon client IMAP avec la contrainte suivante : je ne veux pas avoir à créer les dossiers uniquement sous Boîte de réception. Epuisé, j'ai finalement constaté ceci :

Il n'est pas possible de créer un dossier au même niveau que la boîte de réception lorsqu'on utilise MS Outlook


maintenant l'explication qui est basée sur un prise de trace réseau de la communication entre le client MS Outlook et le serveur Courier:
* OK [CAPABILITY IMAP4REV1 X-NETSCAPE LOGIN-REFERRALS AUTH=LOGIN] imap.free.fr IMAP4rev1 2001.315/Proxad at Sun, 7 Jan 2007 18:13:22 +0100 (CET)
6kav CAPABILITY
* CAPABILITY IMAP4REV1 X-NETSCAPE NAMESPACE MAILBOX-REFERRALS SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND LOGIN-REFERRALS AUTH=LOGIN
6kav OK CAPABILITY completed
84tg LOGIN "utilisateur" "motdepasse"
84tg OK [CAPABILITY IMAP4REV1 X-NETSCAPE NAMESPACE MAILBOX-REFERRALS SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND] User utilisateur authenticated
aq37 LIST "" ""
* LIST (\NoSelect) "/" ""
aq37 OK LIST completed
74jf LSUB "" "*"
* LSUB () "/" INBOX
* LSUB () "/" INBOX/test1
74jf OK LSUB completed
8z2h STATUS "INBOX" (UNSEEN)
* STATUS INBOX (UNSEEN 188)
8z2h OK STATUS completed
14q4 STATUS "INBOX/test1" (UNSEEN)
* STATUS INBOX/test1 (UNSEEN 2)
...

Sans y faire attention ... rien de flagrant ... si ce n'est comme d'habitude dans les détails que l'on trouve le diable !
La FAQ de Courier consacre un chapitre sur un sujet concernant la RFC 2342, en y portant plus d'intérêt (c'est à dire au moins en le lisant), vous comprendrez, comme moi, que l'utilisation des namespaces est une condition obligatoire au bon fonctionnement du client avec le serveur Imap-Courier et qu'à priori Microsoft n'implémente pas cette fonctionnalité. Si elle était implémentée, Outlook devrait avoir une discussion complémentaire juste après l'étape du login:
...
2z2h namespace
* NAMESPACE (("INBOX." ".")) NIL (("#shared." ".")("shared." "."))
2z2h OK NAMESPACE completed.
...
L'objectif des namespaces est d'indiquer au client quels sont les préfixes à utiliser pour accèder aux différents dossiers qui sont INBOX, #shared et shared, Outlook devrait alors en déduire que les dossiers personnels sont préfixés par INBOX et que les dossiers publics sont préfixés par shared et qu'il est donc impossible d'accéder ou de créer un dossier sans l'un de ces deux préfixes.
La conclusion est donc, changer de client de messagerie ou ... changer de serveur IMAP, sur ce second point Dovecot est une bonne alternative ...


Edit - History - Print - Recent Changes - Search
Page last modified on March 02, 2007, at 06:42 PM