On Sat, Jun 22, 2013 at 12:13:16PM +0100, Craig R. Skinner wrote: > > >main.cf: > > >myorigin = $mydomain > > >mydestination = localhost.$mydomain
Notice the exact form of the above (IIRC that was my suggestion). > > No. If the destination you use in virtual_alias_maps is @localhost, > > then THAT must be in mydestination. > > Postfix is quite literal. > > > > mydestination = localhost > > append_dot_mydomain = no Whoever said that does not know what they are talking about. With the default of "append_dot_mydomain = yes", Postfix will replace "user@localhost" with "user@localhost.$mydomain" before performing recursive lookups with virtual_alias_maps. > > Or, if you wish to follow Victor's advice, qualify all aliases with > > "@localhost.$mydomain" instead. No, that can't be done literally, one would have to replace "$mydomain" with the actual value. To quote Dr. Seuss: I meant what I said and I said what I meant. > Superbly simple config Jeroen, unfortunately it doesn't work for me - > yet. > > main.cf: > myorigin = $mydomain > mydestination = localhost mydestination = localhost.$mydomain > append_dot_mydomain = no append_dot_mydomain = yes > remote_header_rewrite_domain = sender.domain.incomplete remote_header_rewrite_domain = address.invalid The ".invalid" TLD is IANA reserved for invalid domain names. If these aliases are to be effective the RHS needs to be in a valid domain, your choices are "localhost" or "example.com". The former will perform local(8) delivery directly without generating a new queued message with the expanded recipients. The latter will do indirect (new queue file) delivery because example.com is not in mydestination. > virtual_alias_maps.map: > # accept mail for postmaster/abuse@[ip.add.ress.es] > postmaster postmaster Never leave RHS domain unset in virtual_alias_maps. Replace the RHS with postmaster@localhost (which punts the mail to local(8) for aliases(5) expansion) or with the full addresses of users receiving postmaster mail. The LHS can only be left unqualified if the virtual alias domain is equal to $myorigin. Otherwise, it too MUST be an FQDN. Thus, either: # Actual expansion in local(8) aliases(5). Not recommended. # postmas...@example.com postmaster@localhost or: # Actual expansion in local(8) aliases(5). Preferred: # postmas...@example.com us...@example.com, us...@example.com, ... > abuse postmaster Here: ab...@example.com postmas...@example.com > hostmas...@example.com hostmaster Same as postmaster! > sa...@example.com acct145 sa...@example.com acct...@example.com > joe.blo...@example.com jb4356 joe.blo...@example.com jb4356@localhost > jane.blos...@example.com jb8921 jane.blos...@example.com jb8921@localhost Use virtual(5) for ALL address -> address mappings, with only addresses that represent final mailboxes listed as account@localhost. Use aliases(5) sparingly, only for "|command" aliases (try to avoid these anyway) or ":include:" lists. The aliases(5) file is a Sendmail compatibility feature, whose features are best remapped onto virtual(5) (address to address mappings controlled by the administrator) and .forward files (own address to address or command mappings possibly controlled by shell users). -- Viktor.