frangipane - email (discussion)

Cette page contient des discussions/réflexions à propos de Email.

Virtual Hosting

On a des comptes mails "virtuels", càd ne correspondant pas tous à un user Unix ; c'est ça, du "Virtual Hosting". La référence : Postfix Virtual Domain Hosting Howto.

Pour ce qui est de la gestion centralisée de ces boîtes "virtuelles", y'a un machin nommé Postfix Admin qui a l'air de faire des trucs chouettes.

L'astuce pour faire cohabiter, sur un même domaine, users Unix & virtuels :

local_recipient_maps = proxy:unix:passwd.byname $alias_maps hash:/var/cache/umm/poivron.org.mailboxes
fallback_transport = virtual:

Des tonnes de HOWTOs :

Quotas des boîtes virtuelles

Vu qu'on va avoir des comptes mails "virtuels", càd ne correspondant pas tous à un user unix, on ne peut pas confier au système de fichiers la gestion des quotas des boîtes mail ; or, d'après le man (virtual(8)), Postfix ne sait que gérer une taille limite commune à tous les mails virtuels, avec le variable virtual_mailbox_limit ; comme nous voulons des quotas définissables boîte par boîte... il nous faut utiliser un système permettant ceci, et supporté par Postfix & par le serveur IMAP...

Côté Postfix, nous utilisons le MDA (mail delivery agent) maildrop, livré avec courier :

  • sait taper dans une base SQL et dans des fichiers plats
  • s'interface merveilleusement avec courier-IMAP pour la gestion des quotas (utilise le même fichier maildirsize pour lire rapidement l'état d'un quota)

Dovecot

En fait, dovecot supporte maintenant les quotas Maildir++, cf http://wiki.dovecot.org/Quota/Maildir. Il pourrait donc p't'être remplacer courier-imap ; reste toutefois la question du transport local de Postfix.

Le wiki de Dovecot contient un exemple de comment ces deux là peuvent se mettre avec Postgre (http://wiki.dovecot.org/moin.cgi/DovecotPostgresql).

Postfix

Les "maps"

Par exemple, dans les virtual_mailbox_maps, vu qu'on utilise mailbox, le 2nd champ est ignoré, seule compte l'existence (ou pas) de l'adresse dans la map.

Coopération avec libnss-pgsql

TODO Ça implique quoi pour Postfix, que les comptes FTP soient vus comme des comptes locaux ?

Lorsque local_recipient_maps = proxy:unix:passwd.byname $alias_maps

Avec un user non-root, qu'il puisse lire /etc/nss-pgsql.conf ou non : $ postmap -q wmblaracine1 proxy:unix:passwd.byname postmap: warning: connect #1 to subsystem /var/spool/postfix/private/proxymap: Permission denied

Et en root : $ postmap -q wmblaracine1 proxy:unix:passwd.byname wmblaracine1:$1$YUTDfrwT$X5TiPsiG2EDkhiSe93Xhy/:3001:3001:wmblaracine1:/var/www/franGiPane/bla.org/racine/:/bin/false

Côté Postfix : $ mail wmblaracine1 Le transport local dit "unknown user", et bounce.

Lorsque local_recipient_maps = unix:passwd.byname $alias_maps

Avec un user non-root pouvant lire /etc/nss-pgsql.conf : $ postmap -q wmblaracine1 unix:passwd.byname wmblaracine1:$1$YUTDfrwT$X5TiPsiG2EDkhiSe93Xhy/:3001:3001:wmblaracine1:/var/www/franGiPane/bla.org/racine/:/bin/false

Avec un user non-root ne pouvant pas lire /etc/nss-pgsql.conf : $ postmap -q wmblaracine1 unix:passwd.byname could not open config file /etc/nss-pgsql.conf

Côté Postfix : $ mail wmblaracine1 Le transport local dit "unknown user", et bounce.

Pourquoi bounce-t-il dans tous les cas ?

/bin/false ?