Newsgroup: it.comp.os.linux.sys
Titolo: Postfix virtual mailbox

Ho un problema con Postfix e le virtual_mailbox.
Il risultato che voglio avere e' separare la posta in base alla casella
da cui viene scaricata con fetchmail *senza* dare un account a chi poi
la scarichera'; da quel che ho capito le virtual_mailbox sono quello che
mi serve ...
postconf -n:
command_directory = /usr/local/sbin
config_directory = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
default_privs = nobody
inet_interfaces = all
local_transport = local
mail_owner = postfix
mynetworks = 
192.168.1.0/28
, 127.0.0.1
queue_directory = /var/spool/postfix
virtual_gid_maps = static:6
virtual_mailbox_base = /usr/local/var/mail/
virtual_mailbox_domains =
hash:/usr/local/etc/postfix/virtual_mailbox_domains
virtual_mailbox_maps = hash:/usr/local/etc/postfix/virtual_mailbox
virtual_transport = virtual
virtual_uid_maps = static:0
virtual_mailbox:
nich...@example.com
   nicholas/
virtual_mailbox_domains:
example.com
     DOMAIN
ll /usr/local/var/mail/:
drwx------  5 root  mail  512 Apr  5 17:38 nicholas
Il risultato e' che nella maildir nicholas/ non c'e' nulla, le email
vanno perse :(
E' la prima volta che provo questa configurazione, quindi potrebbe
essere qualcosa di banale.
Ho letto tutta la documentazione e non riesco a risolvere, nemmeno con
gli esempi in VIRTUAL_README.
TIA,
  ngw

 
example.com
     DOMAIN
Ecco. Di questa sintassi non sono affatto sicuro. Non uso postfix2, ma
la docu dice:
"virtual_mailbox_domains (default $virtual_mailbox_maps)... bla bla ...
This parameter expects the same syntax as the mydestination
configuration parameter."
Quindi, IMHO, se lo vuoi usare cosi`, devi cambiare quell'hash, in
qualcosa tipo:
@
example.com
e fine.
OPPURE
Usando il "vecchio" modo, ovvero, facendo fuori quelle due direttive di
cui sopra, e usando transport_maps, con una mappatura tipo: 
example.it
   virtual
HTH.
-- 
                          Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
i aM eLiTe!!!! gIvE mE wArEz D00dZ!!!!!!!

 
example.it
   virtual
Provato, niente da fare ... Mi sbatte la posta nell'account di root, e
non riesco davvero a capire il perche'.
postconf -n:
command_directory = /usr/local/sbin
config_directory = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
default_privs = nobody
inet_interfaces = all
mail_owner = postfix
mynetworks = 
192.168.1.0/28
, 127.0.0.1
queue_directory = /var/spool/postfix
transport_maps = hash:/usr/local/etc/postfix/transport
virtual_gid_maps = static:6
virtual_mailbox_base = /usr/local/var/mail/
virtual_mailbox_maps = hash:/usr/local/etc/postfix/virtual_mailbox
virtual_uid_maps = static:0
transport:
example.com
     virtual
Il resto e' uguale, ho solo tolto quello che mi hai detto.
Mi viene il dubbio di non aver capito una benemerita mazza: le virtual
mailbox sono una corrispondenza casella per casella, quindi se scarico
con fetchmail la casella 
f...@example.com
 Postfix dovrebbe controllare
l'header To: e mettere la mail nella casella foo/ in
$virtual_mailbox_base, no ? Sto sbagliando qualcosa ?
TIA,
  ngw

 $virtual_mailbox_base, no ? Sto sbagliando qualcosa ?
Allora, riprendiamo e facciamo ordine. Con postfix1, _devi_ specificare
(via transport_maps), che trasporto deve usare un dato dominio (local,
virtual...).
Postfix2 ti permette di non dover fare questa specifica, o come dice la
docu: "As of version 2.0, Postfix is smart enough that you don't have to
list every virtual domain in a Postfix transport map."
Suppongo che per compatibilita` sia possibile utilizzare entrambi gli
approcci, ma solo uno alla volta. _Se_ usi la transport_maps, suppongo
tu non possa/debba usare virtual_mailbox_domains, e viceversa, almeno
per non fare confusione.
Per razionalizzare (visto che non ho molti test sottomano):
my_destination -> usa local
virtual_mailbox_domains -> usa virtual
E non usiamo transport_maps (il progresso!).
Nota come virtual_mailbox_domains accetti sintassi come my_destination,
quindi _dovresti_ poterla usare come _my_destination_, ovvero:
virtual_mailbox_domains = 
example1.com
, example2.com...
Ecc. se fai un hash (ti conviene?), _secondo me_, la notazione, e`
qualcosa piu` simile a quello che ti ho scritto sopra (ma non saprei di
preciso).
virtual_*id ne abbiamo gia` parlato.
virtual_mailbox_maps desidera una mappattura di un vdomain completo
(postfix style). Questo significa IMHO, che deve essere cosi`:
example.com
   whatever [*]
postm...@example.com
   path/casella1
pi...@example.com
        path/casella2
Sapendo che se lo usi (e ti conviene), viene anticipato il path in
virtual_mailbox_base. (ovviamente per maildir, basta aggiungere lo
slash).
D'altro non direi, se non passando per i log.
[*]
Questo forse, non serve piu`, soppresso dall'uso di
virtual_mailbox_domains, ma non ci scommetterei. Fai due tentativi.
-- 
                          Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
"I didn't know it was impossible when I did it."

 
prova a dare un'occhio su
http://high5.net
hanno un ottimo howto per l'installazione di postfix con mysql e courier.
magari riesci a cavarne qlcs che ti aiuti nella tua configurazione.
o magari passi direttamente a utenti nel db.
:-)
-- 
+-------
| Paolo opg
|
| janickg ( at ) hotmail ( dot ) com
| (fake address in reply-to field!)
+-------

 cut >
Ho miseramente snippato il tuo bellissimo post, dato che ho risolto
(restera' comunque su gugol, per futuri casinisti :p).
Il problema era tanto per cambiare di una stupidita' imbarazzante, ed
era in fetchmail, non in postfix, che invece funzionava perfettamente.
Sostanzialmente ho fatto casino con gli username, tant'e' che io usavo
qualcosa tipo "is account here" piuttosto che "is 
acc...@example.com
here". 
Demenziale, bastava leggere con meno paranoie e piu' calma maillog.
Grazie mille per la pazienza e per le spiegazioni, almeno ora so cosa
sto' facendo.
HAND,
  ngw