Costin Guşă a écrit :
> Hello,
> 
> I'd like to be able to accept mail for only ONE domain and deliver to
> cyrus (configured with singleinstancestore) with lmtp and also keep
> /etc/aliases and unix accounts.
> From what I've googled (some results from this list), I understand
> that I need to deliver with virtual in order to have lmtp send
> multiple 'rcpt to'.
> After reading VIRTUAL_README and ADDRESS_CLASS_README, I understood
> that my specific needs are not found in examples, so at first I
> thought of this configuration, with postfix_2.5.5-1.1_i386.deb on
> debian lenny x86  (note that my modification consists only of the
> virtual_* options, the rest is modified by debian package manager):
> 
> test:~# postconf -n:
> alias_database = hash:/etc/aliases
> alias_maps = hash:/etc/aliases
> append_dot_mydomain = no
> biff = no
> config_directory = /etc/postfix
> inet_interfaces = all
> mailbox_command = procmail -a "$EXTENSION"

if you don't use procmail, remove this.

> mailbox_size_limit = 0
> mydestination = mail.domain.ro, localhost
> myhostname = mail.domain.ro
> mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
> myorigin = mail.domain.ro
> readme_directory = no
> recipient_delimiter = +
> virtual_alias_maps = $local_recipient_maps

oh no. don't mix virtual_alias_maps and local_recipient_maps.

> virtual_mailbox_domains = domain.ro
> virtual_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
> 
> In /etc/aliases I put (along the root aliasing defaults):
> test:user1,user2
> then newalias'ed
> 
> In linux I created user1 and user2
> 
> After testing, I discovered that it wasn't doing the alias expanding
> as I expected (it delivered to 'test' user, which cyrus is configured
> to happily accept, since it's patched to autocreate the mailbox on
> first delivery and I count on postfix for user validation), so I
> created a /etc/postfix/valiases in which I put again test: user1,user2
> , postalias'ed it and removed the change in /etc/aliases, then
> newalias'ed. Then I adjusted "virtual_alias_maps =
> hash:/etc/postfix/valiases, $local_recipient_maps",
> /etc/init.d/postfix reload'ed and this time it worked.
> 
> The next step was to remove /etc/postfix/valiases and symlink it from
> /etc/aliases, putting the alias back in /etc/aliases, then postalias
> /etc/postfix/valiases and newalias'ed. It worked as expected, again
> (two 'rcpt to' sent over a single session)
> 
> 1. The above postconf -n with the modified 'virtual_alias_maps' does
> what I want. Are there other effects that I should be aware of?
> 
> 2. Why it works with separate /etc/postfix/valiases file, even if it's
> content is the same with /etc/aliases? I have even tried to put
> "virtual_alias_maps = proxy:unix:passwd.byname, hash:/etc/aliases"
> (the same value for local_recipient_maps)...
> 
> Thank you


if you want virtual aliases, better
- avoid using /etc/aliases
- use full addresses: include the domain part. when you don't, postfix
adds @$myorigin. including the domain part avoids surprises.

in short, use virtual aliases like this:

us...@example.com               us...@example.org

to deliver to a unix account, use a "local" domain in the right hand
side. for example

us...@example.com       us...@localhost

Reply via email to