La question à 100$, c'est quand utiliser un tel outil ? Un besoin courant, par exemple, se trouve dans les grosses compagnies présentes sur plusieurs sites géographiques, avec des adresses de messagerie se terminant par par le même domaine @compagnie.com. Dans ce cas, il est probable que chaque site important possède son propre serveur de messagerie. Il est tout autant probable que les serveurs de messagerie varient d'un site à l'autre, en fonction des ressources sur place (Linux, Exchange, Lotus Notes, etc.).

Les messages doivent dans ce cas entrer sur un frontal commun : le MX du domaine compagnie.com. À ce niveau là, en fonction du nom d'utilisateur, le frontal devra router les message sur le MX interne du destinataire. Ce frontal doit donc être en mesure de récupérer une liste à jour de tous les usagers sur tous les sites, avec en plus l'information de leur emplacement.

C'est précisément le domaine d'applications pour lequel Penrose a été créé : on extrait de chaque site la liste des usagers, avec le <strong>connecteur approprié</strong> (LDAP, SQL, texte ou autre). On ajoute à chaque site un attribut sur mesure (le mx interne de destination). Le résultat produit par Penrose est une arborescence LDAP, que l'on peut connecter directement (ou presque selon l'outil utilisé) au mécanisme de routage du serveur SMTP frontal ; dans le cas de Postfix, virtual-alias et transport-map.

À l'instar de la bibliothèque Qt, Penrose est disponible sous double licence, GPL et commerciale (selon le spectre d'utilisation souhaité). Il est écrit en Java, est multi-plateforme, et est intégrable aussi bien à des infrastructures de service qu'à des applications.