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.
- paquet Debian : http://ordrejedis.net/~neo/debian/postfixadmin/
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 :
- le Virtual Mailhosting System with Postfix Guide de gentoo : http://www.gentoo.org/doc/en/virt-mail-howto.xml
- un machin web/php pour gérer des domaines virtuels stockés dans une base SQL : Postfix Admin ; et leur doc sur le virtual hosting : http://high5.net/howto/
- Virtual Domains and Users w/ Postfix / Courier-IMAP / Politburo.MySQL / Quota
- Postfix VDA Quota README
- postfix,courier imap, ssl, spamassassin, squirrelmail, sasl, maildrop virtual quota : très très complet
- Virtual Mailhosting System with Postfix Guide
- Postifx w/ SASL + Courier IMAP w/ SSL + Maildrop + Politburo.MySQL + SpamAssassin et son appendice
- ISP Mailserver Solution Howto : grosse et vieille doc
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 ?