On Fri, Oct 08, 2010 at 12:50:42PM -0400, Wietse Venema wrote:
> Victor Duchovni:
> > I avoid the need for such empty relay tables, by making all my
> > externally-facing domains (the domains in which users get their
> > primary email addresses) be virtual alias domains. All internal
> > delivery is to "mailbox" domains that are the result of virtual
> > alias rewrites:
> >
> > main.cf:
> > virtual_alias_domains = example.com
> >
> > indexed = ${default_database_type}:${config_directory}/
> > virtual_alias_maps = ${indexed}virtual
> > transport_maps = ${indexed}transport
> >
> > virtual:
> > [email protected] [email protected]
> ...
>
> That is simpler, but I tried to avoid this, because sometimes the
> back-end MTA is configured to accept [email protected] but not
> [email protected].
In many business email systems, the back-end store is MSFT Exchange,
in which case, support for non-primary addresses is not difficult,
one just populates the mailbox addresses into
proxyAddresses: SMTP:[email protected]
proxyAddresses: smtp:[email protected]
one also makes the Exchange servers authoritative for the
"exchange.example.com" domain, but forward anything unresolved int the
parent domain (example.com) to the cross-domain mail hub for routing.
This is most useful when multiple mail store environments are present.
(Multiple Exchange installations, and/or other non MSFT mailstores).
Some people find it easier to rewrite mailbox->primary mail in
smtp_generic_maps, so that the backend servers still see the primary
address, but the Postfix queue sees mailbox domains, and thereby avoid
per-user transport lookups, which typically involve much slower
(compared to indexed-file lookups) LDAP or SQL queries and can adversely
impact queue manager performance.
--
Viktor.