On 4/9/2013 6:56 PM, Quanah Gibson-Mount wrote: > I'm trying to fix my virtual domain configuration with postfix, > which as noted in a prior discussion was done incorrectly by some > unknown to me person in the past. > > The main issue right now is that it has: > > virtual_transport = error
virtual_transport is the default transport used by virtual_mailbox_domains. > > which I was told makes little sense, so I'm trying to correct our > configuration. > > First, all of our data is stored in LDAP (domains, users, etc). For > my test setup, the "real" domain is zre-ldap002.eng.vmware.com. > I've created a virtual (alias) domain "example.com". virtual_alias_domains are always (MUST be) rewritten to some other domain. The transport used is controlled by the "real" domain. See ADDRESS_CLASS_README. > > With my default configuration, if I send mail to u...@example.com > AND the user exists as u...@zre-ldap002.eng.vmware.com, mail > delivery occurs. However, I'm completely unclear as to what I should > be setting virtual_transport Looks as if virtual_transport isn't used in this setup. Either zre-ldap002.eng.vmware.com isn't in virtual_mailbox_domains, or you override the default. > to be that isn't error that will allow > delivery to occur. I've been reading over > <http://www.postfix.org/LDAP_README.html#example_virtual>, but it > assumes that you have matching user entries for every user in the > alias domain for LDAP lookups to work. What is just a base domain > entry: > > dn: dc=example,dc=com > zimbraDomainType: alias > zimbraMailCatchAllForwardingAddress: @zre-ldap002.eng.vmware.com > zimbraDomainAliasTargetId: 4791b22a-9d9f-4a1b-b334-e3fd3244c561 > zimbraDomainStatus: active > objectClass: dcObject > objectClass: organization > objectClass: zimbraDomain > objectClass: amavisAccount > zimbraId: 4e14bf2f-de63-4068-bb54-ee3327ad69b1 > zimbraCreateTimestamp: 20130409230803Z > zimbraDomainName: example.com > zimbraMailStatus: enabled > zimbraMailCatchAllAddress: @example.com > o: example.com domain > dc: example > > The catchall domain (real domain) is stored in the > zimbraMailCatchAllForwardingAddress line. > > > The (real) user entry looks like: > > zimbra@zre-ldap002:~$ ldapsearch -LLL -x -H ldapi:// -D cn=config -w > zimbra -b "dc=zre-ldap002,dc=eng,dc=vmware,dc=com" uid=user > dn: uid=user,ou=people,dc=zre-ldap002,dc=eng,dc=vmware,dc=com > objectClass: inetOrgPerson > objectClass: zimbraAccount > objectClass: amavisAccount > zimbraId: 3f59de93-52d8-4f43-89cd-ecadd78e1929 > zimbraCreateTimestamp: 20130409235225Z > zimbraAccountStatus: active > zimbraMailHost: zre-ldap002.eng.vmware.com > zimbraMailTransport: lmtp:zre-ldap002.eng.vmware.com:7025 > zimbraMailStatus: enabled > zimbraMailDeliveryAddress: u...@zre-ldap002.eng.vmware.com > mail: u...@zre-ldap002.eng.vmware.com > cn: user > sn: user > uid: user > userPassword:: = > zimbraPasswordModifiedTime: 20130409235225Z > > > postmap on my base transport works for this: > zimbra@zre-ldap002:~$ postmap -q u...@zre-ldap002.eng.vmware.com > ldap:/opt/zimbra/conf/ldap-transport.cf > lmtp:zre-ldap002.eng.vmware.com:7025 OK, this looks as if you're overriding the virtual_transport entry here. If all the zre-ldap002.eng.vmware.com users use the same endpoint, you can set virtual_transport = lmtp:zre-ldap002.eng.vmware.com:7025 and get rid of the transport lookup. > > > However, I don't see a way to get postfix to understand it should > look for @zre-ldap002.eng.vmware.com (from the > zimbraMailCatchAllForwardingAddress attribute) anytime it gets an > email for @example.com (from the zimbraMailCatchAllAddress > attribute), and then do the lookup as u...@zre-ldap002.eng.vmware.com. > > Pointers *much* appreciated. Sorry, can't help with LDAP. -- Noel Jones > > Thanks! > > > --Quanah > > > -- > > Quanah Gibson-Mount > Sr. Member of Technical Staff > Zimbra, Inc > A Division of VMware, Inc. > -------------------- > Zimbra :: the leader in open source messaging and collaboration