Loading ...
Sorry, an error occurred while loading the content.

postfix, cyrus, mailman, virtual domains

Expand Messages
  • Dwight Tovey
    Hello all - I think I ve managed to get myself twisted up by reading different howtos, and I need some help in getting straightened out again. I currently have
    Message 1 of 6 , Apr 2, 2006
    • 0 Attachment
      Hello all -

      I think I've managed to get myself twisted up by reading different
      howtos, and I need some help in getting straightened out again.

      I currently have an (underpowered) system that runs qmail, courier imap,
      openldap (for virtual user definitions) and mailman. This system hosts
      4 domains with each domain having user mailboxes in addition to mailman
      list servers.

      I am now attempting to move off of that system to a new install using
      Postfix, Cyrus imap (with web-cyradm), MySQL (to hold the virtual user
      tables) and mailman.

      Going through the VIRTUAL_README I've managed to get Postfix to accept
      mail for all of my domains and deliver it to the Cyrus mailboxes for the
      virtual users. The problem that I'm having now is in getting Postfix to
      deliver listserv email through the mailman software. It seems that no
      matter what I do, Postfix wants to hand the message off to lmtp to
      deliver to Cyrus, which doesn't know about the listservs.

      I'm sure that I've just missed something simple, but I'm not sure what.
      Should I maybe not be using the lmtp transport directly but instead use
      something else to split delivery between Cyrus mailboxes and mailman?

      Thanks for any help.

      /dwight

      ==============================8<-----------------------------
      # postconf -n
      alias_database = hash:/etc/aliases
      alias_maps = hash:/usr/local/mailman/data/aliases, hash:/etc/aliases
      append_dot_mydomain = no
      biff = no
      broken_sasl_auth_clients = yes
      config_directory = /etc/postfix
      content_filter = smtp-amavis:127.0.0.1:10024
      delay_warning_time = 4h
      mailbox_command = procmail -a "$EXTENSION"
      mailbox_size_limit = 0
      mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
      masquerade_domains = dtovey.net baldwinparkhoa.net
      biketreasurevalley.org gemstatebikealliance.org
      mydestination = localhost.dtovey.net, localhost
      mydomain = dtovey.net
      myhostname = mail.dtovey.net
      mynetworks = 127.0.0.0/8 192.168.68.0/24
      myorigin = $mydomain
      recipient_delimiter = +
      sender_canonical_maps = mysql:/etc/postfix/mysql-canonical.cf
      smtpd_banner = $myhostname ESMTP $mail_name)
      smtpd_helo_required = yes
      smtpd_recipient_restrictions = reject_invalid_hostname
      reject_non_fqdn_hostname reject_non_fqdn_sender
      reject_non_fqdn_recipient reject_unknown_sender_domain
      reject_unknown_recipient_domain reject_unauth_pipelining
      permit_mynetworks reject_unauth_destination
      reject_rbl_client zombie.dnsbl.sorbs.net
      reject_rbl_client relays.ordb.org reject_rbl_client opm.blitzed.org
      reject_rbl_client list.dsbl.org reject_rbl_client sbl.spamhaus.org
      permit_sasl_authenticated
      smtpd_sasl_auth_enable = yes
      smtpd_sasl_local_domain =
      smtpd_sasl_security_options = noanonymous
      virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf
      virtual_mailbox_domains = dtovey.net baldwinparkhoa.net
      gemstatebikealliance.org biketreasurevalley.org
      virtual_transport = lmtp:unix:/var/run/cyrus/socket/lmtp

      # cat /usr/local/mailman/data/aliases
      mailman: "|/usr/local/mailman/mail/mailman post mailman"
      mailman-admin: "|/usr/local/mailman/mail/mailman admin mailman"
      mailman-bounces: "|/usr/local/mailman/mail/mailman bounces mailman"
      mailman-confirm: "|/usr/local/mailman/mail/mailman confirm mailman"
      mailman-join: "|/usr/local/mailman/mail/mailman join mailman"
      mailman-leave: "|/usr/local/mailman/mail/mailman leave mailman"
      mailman-owner: "|/usr/local/mailman/mail/mailman owner mailman"
      mailman-request: "|/usr/local/mailman/mail/mailman request mailman"
      mailman-subscribe: "|/usr/local/mailman/mail/mailman subscribe
      mailman"
      mailman-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe
      mailman"


      --
      Dwight N. Tovey
      Email: dwight@...
      http://www.dtovey.net/~dwight/
      ---
      Pop Goes the Hamster...and other great microwave games. (Another Little Golden Book that never made it)
    • mouss
      ... any logs?
      Message 2 of 6 , Apr 2, 2006
      • 0 Attachment
        Dwight Tovey wrote:
        > Hello all -
        >
        > I think I've managed to get myself twisted up by reading different
        > howtos, and I need some help in getting straightened out again.
        >
        > I currently have an (underpowered) system that runs qmail, courier imap,
        > openldap (for virtual user definitions) and mailman. This system hosts
        > 4 domains with each domain having user mailboxes in addition to mailman
        > list servers.
        >
        > I am now attempting to move off of that system to a new install using
        > Postfix, Cyrus imap (with web-cyradm), MySQL (to hold the virtual user
        > tables) and mailman.
        >
        > Going through the VIRTUAL_README I've managed to get Postfix to accept
        > mail for all of my domains and deliver it to the Cyrus mailboxes for the
        > virtual users. The problem that I'm having now is in getting Postfix to
        > deliver listserv email through the mailman software. It seems that no
        > matter what I do, Postfix wants to hand the message off to lmtp to
        > deliver to Cyrus, which doesn't know about the listservs.
        >
        > I'm sure that I've just missed something simple, but I'm not sure what.
        > Should I maybe not be using the lmtp transport directly but instead use
        > something else to split delivery between Cyrus mailboxes and mailman?
        >
        > Thanks for any help.
        >
        > /dwight
        >
        > ==============================8<-----------------------------
        > # postconf -n

        any logs?
      • Dwight Tovey
        ... Whoops. Forgot that. At least I managed to remember the postconf output. Here is an extraction from mail.log: Apr 2 11:14:37 medea postfix/smtpd[17550]:
        Message 3 of 6 , Apr 2, 2006
        • 0 Attachment
          On Sun, 2006-04-02 at 18:23 +0200, mouss wrote:
          > Dwight Tovey wrote:
          > > Hello all -
          > >
          > > I think I've managed to get myself twisted up by reading different
          > > howtos, and I need some help in getting straightened out again.
          > >
          > > I currently have an (underpowered) system that runs qmail, courier imap,
          > > openldap (for virtual user definitions) and mailman. This system hosts
          > > 4 domains with each domain having user mailboxes in addition to mailman
          > > list servers.
          > >
          > > I am now attempting to move off of that system to a new install using
          > > Postfix, Cyrus imap (with web-cyradm), MySQL (to hold the virtual user
          > > tables) and mailman.
          > >
          > > Going through the VIRTUAL_README I've managed to get Postfix to accept
          > > mail for all of my domains and deliver it to the Cyrus mailboxes for the
          > > virtual users. The problem that I'm having now is in getting Postfix to
          > > deliver listserv email through the mailman software. It seems that no
          > > matter what I do, Postfix wants to hand the message off to lmtp to
          > > deliver to Cyrus, which doesn't know about the listservs.
          > >
          > > I'm sure that I've just missed something simple, but I'm not sure what.
          > > Should I maybe not be using the lmtp transport directly but instead use
          > > something else to split delivery between Cyrus mailboxes and mailman?
          > >
          > > Thanks for any help.
          > >
          > > /dwight
          > >
          > > ==============================8<-----------------------------
          > > # postconf -n
          >
          > any logs?

          Whoops. Forgot that. At least I managed to remember the postconf
          output.

          Here is an extraction from mail.log:

          Apr 2 11:14:37 medea postfix/smtpd[17550]: 4C7B4E8280:
          client=cerberus.dtovey.net[192.168.68.5]
          Apr 2 11:14:37 medea postfix/pickup[17541]: 50502E8281: uid=110
          from=<logcheck>
          Apr 2 11:14:37 medea postfix/cleanup[17560]: 50502E8281: message-
          id=<20060402160223.50502E8281@...>
          Apr 2 11:14:37 medea postfix/qmgr[15920]: 50502E8281:
          from=<logcheck@...>, size=2627, nrcpt=1 (queue active)
          Apr 2 11:14:37 medea postfix/cleanup[17561]: 4C7B4E8280: message-
          id=<20060402171418.4C7B4E8280@...>
          Apr 2 11:14:37 medea postfix/smtpd[17550]: disconnect from
          cerberus.dtovey.net[192.168.68.5]
          Apr 2 11:14:37 medea postfix/pickup[17541]: 62A65E827E: uid=110
          from=<logcheck>
          Apr 2 11:14:37 medea postfix/cleanup[17556]: 62A65E827E: message-
          id=<20060402170224.62A65E827E@...>
          Apr 2 11:14:37 medea postfix/qmgr[15920]: 4C7B4E8280:
          from=<dwight@...>, size=398, nrcpt=1 (queue active)
          Apr 2 11:14:37 medea postfix/qmgr[15920]: 62A65E827E:
          from=<logcheck@...>, size=22769, nrcpt=1 (queue active)
          Apr 2 11:14:38 medea postfix/smtpd[17572]: connect from
          localhost.localdomain[127.0.0.1]
          Apr 2 11:14:38 medea postfix/smtpd[17572]: 38CAEE827F:
          client=localhost.localdomain[127.0.0.1]
          Apr 2 11:14:38 medea postfix/cleanup[17557]: 38CAEE827F: message-
          id=<20060402171418.4C7B4E8280@...>
          Apr 2 11:14:38 medea postfix/smtpd[17572]: disconnect from
          localhost.localdomain[127.0.0.1]
          Apr 2 11:14:38 medea postfix/qmgr[15920]: 38CAEE827F:
          from=<dwight@...>, size=848, nrcpt=1 (queue active)
          Apr 2 11:14:38 medea amavis[21394]: (21394-07) Passed,
          <dwight@...> -> <mailman@...>, Message-ID:
          <20060402171418.4C7B4E8280@...>, Hits: -2.276
          Apr 2 11:14:38 medea postfix/smtp[17569]: 4C7B4E8280:
          to=<mailman@...>, relay=127.0.0.1[127.0.0.1], delay=20,
          status=sent (250 2.6.0 Ok, id=21394-07, from MTA: 250 Ok: queued as
          38CAEE827F)
          Apr 2 11:14:38 medea postfix/qmgr[15920]: 4C7B4E8280: removed
          Apr 2 11:14:38 medea cyrus/master[17577]: about to
          exec /usr/lib/cyrus/bin/lmtpd
          Apr 2 11:14:38 medea cyrus/lmtpunix[17577]: executed
          Apr 2 11:14:39 medea postfix/smtpd[17572]: connect from
          localhost.localdomain[127.0.0.1]
          Apr 2 11:14:39 medea postfix/smtpd[17572]: D12D0E8280:
          client=localhost.localdomain[127.0.0.1]
          Apr 2 11:14:39 medea postfix/cleanup[17556]: D12D0E8280: message-
          id=<20060402160223.50502E8281@...>
          Apr 2 11:14:39 medea postfix/smtpd[17572]: disconnect from
          localhost.localdomain[127.0.0.1]
          Apr 2 11:14:40 medea amavis[22108]: (22108-06) Passed,
          <logcheck@...> -> <dwight.dtovey.net@...>, Message-ID:
          <20060402160223.50502E8281@...>, Hits: -2.276
          Apr 2 11:14:40 medea postfix/smtp[17566]: 50502E8281:
          to=<dwight.dtovey.net@...>, orig_to=<root>, relay=127.0.0.1
          [127.0.0.1], delay=4337, status=sent (250 2.6.0 Ok, id=22108-06, from
          MTA: 250 Ok: queued as D12D0E8280)
          Apr 2 11:14:40 medea postfix/qmgr[15920]: D12D0E8280:
          from=<logcheck@...>, size=3097, nrcpt=1 (queue active)
          Apr 2 11:14:40 medea postfix/qmgr[15920]: 50502E8281: removed
          Apr 2 11:14:40 medea cyrus/master[17581]: about to
          exec /usr/lib/cyrus/bin/lmtpd
          Apr 2 11:14:40 medea cyrus/lmtpd[17577]: accepted connection
          Apr 2 11:14:40 medea cyrus/lmtpd[17577]: lmtp connection preauth'd as
          postman
          Apr 2 11:14:40 medea postfix/lmtp[17576]: 38CAEE827F:
          to=<mailman@...>, relay=/var/run/cyrus/socket/lmtp
          [/var/run/cyrus/socket/lmtp], delay=2, status=bounced
          (host /var/run/cyrus/socket/lmtp[/var/run/cyrus/socket/lmtp] said: 550-
          Mailbox unknown. Either there is no mailbox associated with this 550-
          name or you do not have authorization to see it. 550 5.1.1 User unknown
          (in reply to RCPT TO command))
          Apr 2 11:14:40 medea postfix/cleanup[17559]: 27DD3E8282: message-
          id=<20060402171440.27DD3E8282@...>
          Apr 2 11:14:40 medea postfix/qmgr[15920]: 27DD3E8282: from=<>,
          size=2941, nrcpt=1 (queue active)
          Apr 2 11:14:40 medea postfix/qmgr[15920]: 38CAEE827F: removed
          Apr 2 11:14:40 medea cyrus/lmtpunix[17581]: executed

          Note that Postfix is trying to use lmtp to hand the message off to
          cyrus, which doesn't have a mailbox for 'mailman' (the test list I'm
          trying to send to). I need the message to not go to lmtp/cyrus at all,
          but just use the alias map to pass it through the pipe to the 'mailman
          post' command.

          Thanks
          /dwight
          --
          Dwight N. Tovey
          Email: dwight@...
          http://www.dtovey.net/~dwight/
          ---
          Why do they sterilize the needle for lethal injections?
        • Matt Fretwell
          On Sun, 02 Apr 2006 11:25:45 -0600 ... Use a transport entry with something along the lines of: mailman@example.com local: Matt
          Message 4 of 6 , Apr 2, 2006
          • 0 Attachment
            On Sun, 02 Apr 2006 11:25:45 -0600
            Dwight Tovey wrote:

            > Note that Postfix is trying to use lmtp to hand the message off to
            > cyrus, which doesn't have a mailbox for 'mailman' (the test list I'm
            > trying to send to). I need the message to not go to lmtp/cyrus at
            > all, but just use the alias map to pass it through the pipe to the
            > 'mailman post' command.


            Use a transport entry with something along the lines of:

            mailman@... local:


            Matt
          • mouss
            ... or virtual aliases: #replace example.com by dtovey.net mailman@example.com mailman@localhost.example.com ... since he has localhost.example.com in
            Message 5 of 6 , Apr 2, 2006
            • 0 Attachment
              Matt Fretwell wrote:
              > On Sun, 02 Apr 2006 11:25:45 -0600
              > Dwight Tovey wrote:
              >
              >> Note that Postfix is trying to use lmtp to hand the message off to
              >> cyrus, which doesn't have a mailbox for 'mailman' (the test list I'm
              >> trying to send to). I need the message to not go to lmtp/cyrus at
              >> all, but just use the alias map to pass it through the pipe to the
              >> 'mailman post' command.
              >
              >
              > Use a transport entry with something along the lines of:
              >
              > mailman@... local:
              >

              or virtual aliases:
              #replace example.com by dtovey.net
              mailman@... mailman@...
              ...

              since he has localhost.example.com in mydestination.
            • Dwight Tovey
              ... Bingo. I knew it had to be something simple that I was missing. I made one change to main.cf: Old: virtual_alias_maps =
              Message 6 of 6 , Apr 2, 2006
              • 0 Attachment
                mouss said:
                > Matt Fretwell wrote:
                >> On Sun, 02 Apr 2006 11:25:45 -0600
                >> Dwight Tovey wrote:
                >>
                >>> Note that Postfix is trying to use lmtp to hand the message off to
                >>> cyrus, which doesn't have a mailbox for 'mailman' (the test list I'm
                >>> trying to send to). I need the message to not go to lmtp/cyrus at
                >>> all, but just use the alias map to pass it through the pipe to the
                >>> 'mailman post' command.
                >>
                >>
                >> Use a transport entry with something along the lines of:
                >>
                >> mailman@... local:
                >>
                >
                > or virtual aliases:
                > #replace example.com by dtovey.net
                > mailman@... mailman@...
                > ...
                >
                > since he has localhost.example.com in mydestination.
                >

                Bingo. I knew it had to be something simple that I was missing.

                I made one change to main.cf:
                Old:
                virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf
                New:
                virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf,
                hash:/usr/local/mailman/data/virtual-mailman

                I then created /usr/local/mailman/data/virtual-mailman with the following:
                mailman mailman@...
                mailman-admin mailman-admin@...
                mailman-bounces mailman-bounces@...
                mailman-confirm mailman-confirm@...
                mailman-join mailman-join@...
                mailman-leave mailman-leave@...
                mailman-owner mailman-owner@...
                mailman-request mailman-reques@...
                mailman-subscribe mailman-subscribe@...
                mailman-unsubscribe mailman-unsubscribe@...

                I ran postmap on that, reloaded postfix, and everything works again. I'll
                have to update virtual-mailman whenever I add a new list, but that
                shouldn't be a problem.

                Thanks for pointing me in the right direction.
                /dwight

                --
                Dwight N. Tovey
                email: dwight@...
                web: http://www.dtovey.net/~dwight
                -----------
                Cthulu For President-Why Choose The Lesser Evil?
              Your message has been successfully submitted and would be delivered to recipients shortly.