On Mar 13, 2012, at 17.01, mouss wrote:
Le 13/03/2012 19:07, b...@bitrate.net a écrit :
i've been experimenting with delivery for the virtual domain
class to dovecot via lmtp - e.g.
postconf virtual_transport
virtual_transport = lmtp:[localhost]:lmtp-deliver
this works fine.
out of curiosity, i wondered if the particulars could be
somehow moved into a service definition in master.cf - e.g.
virtual_transport = dovecot
yes, you can define a transport in master.cf and use it in
main.cf. so you can define
joerunsfast ... smtp -o var=val ...
and use that in main.cf:
foo_transport = joerunsfast
you can even define parameters for that transport:
joerunsfast_variable = value
in your main.cf, as far as "variable" applies to a transport
(transports inherit from: smtp, lmtp, pipe, ... )
$ cat master.cf ... # Dovecot LDA dovecot unix - n
n - - pipe flags=DRhu user=_mailbox
argv=/usr/local/libexec/dovecot/deliver -d ${user}@${domain} -n
-m ${extension} ...
$ grep dovecot main.cf virtual_transport = dovecot
dovecot_destination_recipient_limit = 1 deliver_command =
/usr/local/libexec/dovecot/deliver …
yes, this part i think i understand - the difficulty i'm having is
with determining which parameters i can pass to lmtp to accomplish
this. i'm effectively looking for what i would consider the
equivalent to virtual_transport=lmtp:[localhost]:lmtp-deliver - but
reading through the smtp/lmtp and others man pages and
experimenting a bit, i've not been able to figure out what
parameter might provide for this.
and then somehow in master.cf a parameter to the lmtp service
named dovecot, specifying [localhost]:lmtp-deliver
not that way:) it's transport:[nexthop], not
[nexthop]:transport... man smtp, lmtp, pipe, …
sorry, i probably should have been more literal here, given the
context. [localhost] is the nexthop, and lmtp-deliver is the port
[10026 in this case, by way of the system's services database]. i
omitted the leading transport here [lmtp] in an attempt to
illustrate that the data would be a parameter passed to lmtp.
so far, given the various portions of the documentation i've
referenced and the iterations i've tried, the answer appears to
be no, but i wondered if i might be missing something.
I won't debate this now, but it seems to me that all this is
documented. anyway, postfix supports custom transports, and they
are used in many places. examples:
- spam filtering: things like: amavis ..... smtp -o blah=blah
...
- delivery: things like dovecot ... pipe -o blah=blah
therein lies my fundamental question, i guess. having read the
documentation for lmtp(8), transport(5), master(5) and probably a
few others i'm forgetting - if i'm being blind to the relevant lmtp
parameters, i'm hopeful i might glean some enlightenment, or if
not, just a confirmation that this particular exercise isn't
possible.