Discussion sur la configuration sql postfix lié à l'interface de gestion des comptes

le schéma de base envisagé est http://trac.sn.auf.org/guia/browser/trunk/guia/noyau/greffons/postfix/bases

Fonctionnement et principes généraux

Objectifs
  • avoir des requêtes services les plus simples possible, en concentrant l'intelligence dans le greffon
  • éviter au maximum les cas particuliers
  • L'authentification se ferait sur le login, pour garder la compatibilité avec l'existant. L'usage de la table canonical sera limité, au maximum (pour les domaines pseudos locaux, par exemple). L'adresse d'expéditeur sera cherché dans la base à chaque fois que l'information est nécessaire (envoi de mail dans le cadre de scripts automatique, champ From: pour le webmail, etc) dans la table users et canonical.

    Trois types d'adresses
  • les adresses sur un domaine local
  • les adresses sur un domaine pseudo-local (@auf.org, par exemple)
  • les adresses sur un domaine non local (@yahoo.fr, par exemple)
  • Une adresse sera locale, par définition, si la partie droite est présente dans le fichier de configuration du greffon (ou de GUIA en général) qui défini les domaines locaux. Dans ce cas, une entrée dans la table des utilisateurs sera créée, et le domaine ajouté à la table des domaines locaux de postfix.

    Si un domaine est pseudo-local ou non local, une fonction de transformation sera appelée sur l'adresse email (fonction définie dans un fichier de configuration du greffon). Si le résultat est une adresse non locale : on ne fait rien. Si le résultat est une adresse locale, on défini une entrée pour cet utilisateur avec l'adresse transformée, et le domaine sera ajouté à la table des domaines relais, ainsi qu'une entrée adresse@domaine nouvelleadresse@domainelocal dans la table virtual, et une entrée nouvelleadresse@domainelocal adresse@domaine  dans le canonical.

    exemples :

    gestion des aliases et redirections

    Cela se fera via la table virtual, avec, en plus de la source et destination, un flag indiquant de quel type de redirection il s'agit (afin de faciliter le travail de greffon pour la création/déconfiguration des adresses, et pour le debugging). Les flags pourraient être :