Results 1 to 10 of 13

Thread: postfix transport maps

Hybrid View

  1. #1
    Join Date
    Aug 2006
    Rep Power

    Default postfix transport maps

    we are using a zimbra server but we also have a novell groupwise server on our network. I'd like to do a per user transport table on postfix so it relays emails to specific users on the groupwise server.

    I know about setting the transport_maps on the file on postfix as well as what to include in the file.

    I'm just curious about the 'zimbra' way of doing this.

    zimbra already has a transport map

    smtpd_tls_loglevel = 3
    smtpd_use_tls = yes
    transport_maps = ldap:/opt/zimbra/conf/
    virtual_alias_domains = ldap://opt/zimbra/conf/
    virtual_alias_maps = ldap:/opt/zimbra/conf/
    virtual_mailbox_domains = ldap:/opt/zimbra/conf/
    virtual_mailbox_maps = ldap:/opt/zimbra/conf/
    virtual_transport = error

    can I just add another transport map after this one? zimbra is working great so I don't want to break anything.



  2. #2
    Join Date
    Aug 2005
    San Mateo, CA
    Rep Power


    We are using virtual. You should be able to use local. Just be sure to back up the config before you try this.
    Looking for new beta users -> Co-Founder of Acompli. Previously worked at Zimbra (and Yahoo! & VMware) since 2005.

  3. #3
    Join Date
    May 2007
    South Africa
    Rep Power



    Please would someone explain to me how to go about adding/modifying a transport map in a Zimbra server?

    Should it be added directly into ldap? and if so what whould be the best way? (use a ldap editor?)
    Last edited by ZoemDoef; 05-14-2007 at 03:44 AM.

  4. #4
    Join Date
    Dec 2006
    Rep Power


    I modified /opt/zimbra/conf/

    Append a value to the appropriate line, like


    Then restart postfix
    zmmtactl stop
    zmmtactl start


  5. #5
    Join Date
    May 2007
    South Africa
    Rep Power


    I dont think we have the same version...

    I am running version 4.5, where would the appropriate line be in the
    Last edited by ZoemDoef; 05-17-2007 at 03:02 AM.

  6. #6
    phoenix is offline Zimbra Consultant & Moderator
    Join Date
    Sep 2005
    Vannes, France
    Rep Power


    Quote Originally Posted by ZoemDoef View Post
    I dont think we have the same version...
    It'e the same file and location in all version sof Zimbra.

    Quote Originally Posted by ZoemDoef View Post
    I am running version 4.5, where would the appropriate line be in the
    Which 'appropriate line' are you talking about? If you mean the one Artturi posted then you append it (i.e. add it to the end) of that line.
    Last edited by phoenix; 05-17-2007 at 04:12 AM.


    Acompli: A new adventure for Co-Founder KevinH.

  7. #7
    Join Date
    Jan 2009
    Rep Power


    Quote Originally Posted by Artturi View Post
    I modified /opt/zimbra/conf/

    Append a value to the appropriate line, like


    Then restart postfix
    zmmtactl stop
    zmmtactl start

    I did this and it worked thanx, how do I do the same for "relay_recipients".
    There is no relay_recipient_maps line in the file ?

  8. #8
    Join Date
    Jul 2008
    Rep Power

    Default zimbra per user migration and transport maps


    I'm live in Brasília, Brasil, i dont speak english fluently, but i'll try to explain my problem.

    I'm a employe of Brasilian Federal Governament on MDA (Ministério do Desenvolvimento Agrário,, today our mail solution is a combination of Postfix with OpenLDAP backend, Courier POP/IMAP, SASL, SpamAssassin+Razor+Pyzor, Clamav, Postgrey and Postix-policyd-spf-python, and our webmail is the poor SquirrelMail, now we want to migrate to zimbra, but we need to do a per user migration, leaving the old solution online, for security reasons, working togetter with zimbra.

    So, we create a MX gateway who read a specific attribute in our main openLDAP tree, the name of this attribute is mailHost from qmail-schema.

    See the transport maps of our gateway mx

    # here we do a specific check, if the account exist go/deliver, if not, discard message...

    local_recipient_maps = ldap:ldaplocal
    ldaplocal_server_host =
    ldaplocal_search_base = dc=br
    ldaplocal_bind_dn = cn=admin,dc=nodomain
    ldaplocal_bind_pw = password
    ldaplocal_query_filter = (&(mail=%s)(accountStatus=active))
    ldaplocal_result_attribute = uid

    # here we check the mailHost attribute to deliver the message to your MTA

    transport_maps = ldap:ldaptransport
    ldaptransport_server_host =
    ldaptransport_server_port = 389
    ldaptransport_bind = yes
    ldaptransport_bind_dn = cn=admin,dc=nodomain
    ldaptransport_bind_pw = password
    ldaptransport_timeout = 5
    ldaptransport_search_base = dc=br
    ldaptransport_query_filter = (&(mail=%s)(accountStatus=active))
    ldaptransport_result_attribute = mailHost
    ldaptransport_result_filter = relay:%s
    ldaptransport_lookup_wildcards = no

    mailHost could be or

    The gateway works fine, but i need to create the same transport map on zimbra, because without this zimbra will deliver the message only localy.

    I was read this post

    and i'm trying to implement that, changing

    POSTCONF transport_maps LOCAL postfix_transport_maps

    on to

    POSTCONF transport_maps ldap:/opt/zimbra/conf/,ldap:/opt/zimbra/conf/

    See the content of

    server_host =
    server_port = 389
    bind = yes
    bind_dn = cn=admin,dc=nodomain
    bind_pw = password
    timeout = 5
    search_base = dc=br
    query_filter = (&(mail=%s)(accountStatus=active)(
    result_attribute = mailHost
    result_filter = relay:%s
    lookup_wildcards = no

    But after this change, zimbra show a lot erros in mailbox.log

    2008-07-18 10:55:12,903 WARN [btpool0-32] [;mid=14; ip=;ua=ZimbraWebClient - FF3.0 (Linux)/5.0.6_GA_2313.UBUNTU6;] ParsedMessage - Unable to parse part 1 (, text/plain) of message with Message-ID <29105227.781216389312901.JavaMail.root@zimbra.mda>. Object will not be indexed.
    com.zimbra.cs.object.ObjectHandlerException: error running ZimletHandler com_zimbra_url
    at com.zimbra.cs.object.ObjectHandler.parse(ObjectHan
    at com.zimbra.cs.mime.MimeHandler.getObjects(MimeHand
    at com.zimbra.cs.mime.MimeHandler.getDocument(MimeHan
    at com.zimbra.cs.mime.ParsedMessage.analyzePart(Parse
    at com.zimbra.cs.mime.ParsedMessage.analyzeBodyParts(
    at com.zimbra.cs.mime.ParsedMessage.analyzeNonBodyPar ts(
    at com.zimbra.cs.mime.ParsedMessage.analyzeFully(Pars
    at com.zimbra.cs.mailbox.Mailbox.addMessage(Mailbox.j ava:4494)
    at com.zimbra.cs.mailbox.Mailbox.addMessage(Mailbox.j ava:4471)
    at com.zimbra.cs.mailbox.MailSender.sendMimeMessage(M
    at com.zimbra.cs.mailbox.MailSender.sendMimeMessage(M
    at com.zimbra.cs.service.mail.SendMsg.doSendMessage(S
    at com.zimbra.cs.service.mail.SendMsg.handle(SendMsg. java:150)
    at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEng
    at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.jav a:267)
    at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.jav a:159)
    at com.zimbra.soap.SoapServlet.doPost(SoapServlet.jav a:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:727)
    at com.zimbra.cs.servlet.ZimbraServlet.service(Zimbra
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:820)
    at org.mortbay.jetty.servlet.ServletHolder.handle(Ser
    at org.mortbay.jetty.servlet.ServletHandler$CachedCha in.doFilter(
    at org.mortbay.servlet.UserAgentFilter.doFilter(UserA
    at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter .java:132)
    at org.mortbay.jetty.servlet.ServletHandler$CachedCha in.doFilter(
    at org.mortbay.jetty.servlet.ServletHandler.handle(Se
    at org.mortbay.jetty.servlet.SessionHandler.handle(Se
    at org.mortbay.jetty.handler.ContextHandler.handle(Co
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebA
    at org.mortbay.jetty.handler.ContextHandlerCollection .handle(
    at org.mortbay.jetty.handler.HandlerCollection.handle (
    at org.mortbay.jetty.handler.HandlerWrapper.handle(Ha
    at org.mortbay.jetty.handler.rewrite.RewriteHandler.h andle(
    at org.mortbay.jetty.handler.HandlerWrapper.handle(Ha
    at org.mortbay.jetty.Server.handle(
    at org.mortbay.jetty.HttpConnection.handleRequest(Htt
    at org.mortbay.jetty.HttpConnection$ ntent(
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser. java:644)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpPa
    at org.mortbay.jetty.HttpConnection.handle(HttpConnec
    at org.mortbay.thread.BoundedThreadPool$ n(
    Caused by: com.zimbra.cs.zimlet.ZimletException: null regex value
    at com.zimbra.cs.zimlet.ZimletException.ZIMLET_HANDLE R_ERROR(
    at com.zimbra.cs.zimlet.handler.RegexHandler.match(Re
    at com.zimbra.cs.object.ObjectHandler.parse(ObjectHan
    ... 42 more

    What is the right way to create a new transport map in zimbra, to zimbra knowns where the message need to be delivered?

Similar Threads

  1. Replies: 3
    Last Post: 11-03-2007, 11:55 PM
  2. Sending Mail! Still something wrong!
    By BlueHaven in forum Installation
    Replies: 11
    Last Post: 08-02-2007, 05:19 PM
  3. Error while trying to view queues
    By SpEnTBoY in forum Administrators
    Replies: 17
    Last Post: 05-08-2007, 10:43 AM
  4. Cannot send mail.
    By jeremyshoe in forum Installation
    Replies: 7
    Last Post: 10-17-2006, 10:42 PM
  5. unable to restart zimbra after reboot
    By droefs in forum Administrators
    Replies: 28
    Last Post: 04-16-2006, 03:33 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts