21
Déc
5

Autoconfig pour Thunderbird

Depuis la version 3.0 de Mozilla Thunderbird, à la création d’un compte de messagerie, ce dernier cherche par plusieurs moyen à configurer automatiquement les paramètres des serveurs de messagerie. Les paramètres peuvent ainsi être renseignés dans un fichier au format XML. La liste des paramètres pouvant être utilisée dans ce fichier XML se trouve à l’adresse https://wiki.mozilla.org/Thunderbird:Autoconfiguration:ConfigFileFormat

 

Supposons que l’on rentre l’adresse toto@mondomaine.com.
La recherche de la configuration se déroule suivant plusieurs étapes. En cas d’échec à une étape, on passer à la suivante. En cas de succès à une étape, les étapes suivantes ne seront pas effectuées :

  • Recherche sur le disque dur d’un fichier domaine.com.xml situé dans le répertoire isp présent dans le répertoire d’installation de thunderbird
  • Téléchargement du fichier http://autoconfig.domaine.com/mail/config-v1.1.xml?emailaddress=toto@domaine.com
  • Téléchargement du fichier http://domaine.com/.well-known/autoconfig/mail/config-v1.1.xml
  • Recherche DNS d’un enregistrement TXT contenant une URL indiquant à quelle adresse télécharger le fichier XML
  • Téléchargement sur la base mozilla : https://autoconfig-live.mozillamessaging.com/autoconfig/domaine.com
  • Recherche heuristique ( imap.domaine.com, pop.domaine.com, …)
  • Saisie manuelle

Nous allons donc implémenter la solution utilisant le téléchargement du fichier http://autoconfig.domaine.com/mail/config-v1.1.xml?emailaddress=toto@domaine.com.

Cette solution présente l’avantage de pouvoir récupérer côté serveur l’adresse email de la personne cherchant à configurer son compte. Ainsi il sera possible de générer un fichier xml personnalisé qui contiendra son login de messagerie. En effet, il est possible que, pour l’adresse toto@domaine.com, le login à utiliser ne soit pas toto mais un login tout autre.
La solution que nous allons implémenter permet de rechercher le login associé à l’adresse toto@domaine.com soit dans un annuaire ldap soit dans une base mysql (ou d’utiliser toto tout simplement).

Les autres solutions ne fournissent qu’une configuration « générale » dans lequel l’identifiant de messagerie ne peut être que soit l’adresse mail complète, soit la partie située avant l’arobase dans l’adresse.

Tout d’abord il faut créer un enregistrement DNS autoconfig.domaine.com. pointant vers un serveur hébergeant une solution apache+php.

Considérons que le serveur apache+php soit installé sous Centos 5. Il nous faut créer un vhost autoconfig.domaine.com. Par exemple :

<VirtualHost *:80>
        ServerName      autoconfig.domaine.com
        ServerAdmin     root@domaine.com
        DocumentRoot    /var/www/html/autoconfig/
</VirtualHost>

Dans le fichier  /etc/httpd/conf.d/php.conf modifions la ligne :

AddHandler php5-script .php .xml

Sous /var/www/html/autoconfig, mettons en place un répertoire nommé mail et téléchargeons à l’intérieur de ce répertoire le script de configuration :

mkdir -p /var/www/html/autoconfig/mail/
cd /var/www/html/autoconfig/mail/
wget http://be-root.com/downloads/autoconfig/config-v1.1.xml

Modifiez les variables présentes au début de ce script en fonction de votre configuration et redémarrez votre serveur apache.

En allant à l’url  http://autoconfig.domaine.com/mail/config-v1.1.xml avec un navigateur, vous devriez voir apparaître le code xml contenant les balises <username>%EMAILLOCALPART%</username>.

Si vous avez défini un driver (ldap ou mysql) pour faire une correspondance entre l’adresse email d’un utilisateur et son login, alors, en allant à l’url http://autoconfig.domaine.com/mail/config-v1.1.xml?emailaddress=utilisateur.existant@domaine.com
vous devriez voir une balise <username>login_utilisateur</username>.

Si cette étape fonctionne correctement, alors, lorsque vous configurerez votre compte sous Thunderbird, la configuration des serveurs pop/imap/smtp se fera alors correctement.

 

5 commentaires :
  1. Antoine 13 Fév, 2014

    Bonjour,

    Savez-vous s’il est possible de pré-configurer un annuaire ldap par le fichier xml?

    D’avance merci.

  2. Cyril 13 Fév, 2014

    le fichier http://be-root.com/downloads/autoconfig/config-v1.1.xml est en réalité un script php permettant de générer un fichier xml à la volée. Le script supporte 3 sources de données : none (login=partie gauche de l’adresse mail), ldap & mysql.

    Pour utiliser la source de donnée ldap (source de données par défaut), il faut positionner les variables $serveur, $racine,
    $emailid, $loginid. Si le serveur ldap necessite une authentification, il faut en plus configurer les variables $ldapuser et $ldapuserpw.

  3. Antoine 13 Fév, 2014

    Merci pour la réponse rapide.
    En fait, ce n’est pas de cela dont je parlais. Dans Thunderbird, dans les options d’adressage, on peut spécifier un serveur LDAP afin qu’il l’utilise comme annuaire.
    J’aurais voulu savoir s’il était possible de renseigner dans le fichier XML les paramètres de connexion à ce serveur (ldap.mondomaine.com, ou=people,dc=mondomaine,dc=com) afin qu’il l’ajoute lors de la création du compte?
    Sinon, cela nous oblige à retourner sur chaque compte pour l’ajouter. Un peu dommage.

    Merci.

  4. Cyril 13 Fév, 2014

    Non, via cette méthode il n’est pas possible de configurer un serveur ldap en tant que provider pour le carnet d’adresse (pour les devs, cette méthode permet de configurer le compte mail uniquement, ils considèrent le carnet d’adresse comme ne faisant pas parti des paramètres de mail). Il faut alors passer par M.C.D (Mission Control Desktop)

  5. Antoine 13 Fév, 2014

    Super, encore merci.
    Je vais chercher de ce côté là alors.




Le thème Celadon pour WordPress a été créé par Themes Boutique