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

Re: virtual transport overwrites recipient

Expand Messages
  • Sahil Tandon
    ... But you did not send the email *To:* someuser@domain.tld; you set *Bcc:*. -- Sahil Tandon
    Message 1 of 11 , Jan 2, 2008
    • 0 Attachment
      * Ondrej Pachner <op@...> [2008-01-02 10:13:09 +0100]:

      > hello all,
      > I have problems with postfix 2.3.8-2+b1 (debian etch) when delivering mail
      > to the virtual catch-all address.
      > When I try to send email with Bcc: someone@..., which goes to the
      > mailbox all@... (based on mysql query)
      > postfix receives it, pipe it to the amavisd and then receives back on port
      > 10025, and then overwrites recipient to all@... and puts it via
      > maildrop to the mailbox. It doesn't preserve the original recipient, so the
      > owner of teh mailbox can't sort/filter it on the recipient base.
      >
      > I put the lline:
      > enable_original_recipient = yes
      > to the main.cf, but nothing happened (it's postfix default setting, isn't
      > it?), thhe problem is still the same.
      > When I have the recipient in To: header, everything is OK.
      >
      > Does anybody know how to fix it to deliver to the right maillbox
      > (al@...) with To: header with the original address
      > (someuser@...)?
      > thank you for any hint

      But you did not send the email *To:* someuser@...; you set *Bcc:*.

      --
      Sahil Tandon <sahil@...>
    • Ondrej Pachner
      hi, ... That s right. On the other postfix machine with totally another configuration it takes me X-Original-To: header into an email with the original
      Message 2 of 11 , Jan 2, 2008
      • 0 Attachment
        hi,

        On Wed, 2 Jan 2008, Sahil Tandon wrote:
        >> Does anybody know how to fix it to deliver to the right maillbox
        >> (al@...) with To: header with the original address
        >> (someuser@...)?
        >> thank you for any hint
        > But you did not send the email *To:* someuser@...; you set *Bcc:*.

        That's right. On the other postfix machine with totally another
        configuration it takes me X-Original-To: header into an email with the
        original recipient incuded. from postfix man:

        The virtual(8) delivery agent prepends a Delivered-To:
        message header with the final envelope recipient address,
        prepends an X-Original-To: header with the recipient
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        address as given to Postfix, and prepends a Return-Path:
        message header with the envelope sender address.

        this is what I'm missing :-(

        O.Pachner
      • mouss
        ... disable address rewrite before the filter. only do address rewrite after the filter. More infos in the FILTER README.
        Message 3 of 11 , Jan 2, 2008
        • 0 Attachment
          Ondrej Pachner wrote:
          > hi,
          >
          > On Wed, 2 Jan 2008, Sahil Tandon wrote:
          >>> Does anybody know how to fix it to deliver to the right maillbox
          >>> (al@...) with To: header with the original address
          >>> (someuser@...)?
          >>> thank you for any hint
          >> But you did not send the email *To:* someuser@...; you set *Bcc:*.
          >
          > That's right. On the other postfix machine with totally another
          > configuration it takes me X-Original-To: header into an email with the
          > original recipient incuded. from postfix man:
          >
          > The virtual(8) delivery agent prepends a Delivered-To:
          > message header with the final envelope recipient address,
          > prepends an X-Original-To: header with the recipient
          > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          > address as given to Postfix, and prepends a Return-Path:
          > message header with the envelope sender address.
          >
          > this is what I'm missing :-(
          >

          disable address rewrite before the filter. only do address rewrite after
          the filter. More infos in the FILTER README.
        • Ondrej Pachner
          hi, ... I m trying to do it this way: smtp inet n - - - - smtpd -o smtpd_use_tls=no -o smtpd_sasl_auth_enable=no -o
          Message 4 of 11 , Jan 2, 2008
          • 0 Attachment
            hi,

            On Wed, 2 Jan 2008, mouss wrote:
            >> message header with the final envelope recipient address,
            >> prepends an X-Original-To: header with the recipient
            >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            >> address as given to Postfix, and prepends a Return-Path:
            >> message header with the envelope sender address.
            >> this is what I'm missing :-(
            >
            > disable address rewrite before the filter. only do address rewrite after the
            > filter. More infos in the FILTER README.

            I'm trying to do it this way:

            smtp inet n - - - - smtpd
            -o smtpd_use_tls=no
            -o smtpd_sasl_auth_enable=no
            -o content_filter=smtp-amavis:[127.0.0.1]:10024
            -o receive_override_options=no_address_mappings

            but it bounces me the message back saying:

            This is the mail system at host xxx.my.domain.

            I'm sorry to have to inform you that your message could not
            be delivered to one or more recipients. It's attached below.

            For further assistance, please send mail to postmaster.

            If you do so, please include this problem report. You can
            delete your own text from the attached returned message.

            The mail system

            <lalala@...>: user unknown. Command output: Invalid user
            specified.

            when I comment out the receive_override_options line, then it works the
            way I described :-( so I probably need just a control (not expansion) of
            the virtual user.. but I really don't know how :-( maybe some
            smtpd_recipient_restrictions which will say some OK or ACCEPT if it finds
            the virtual catch-all for the recipient? really, I have no glue how to
            fix this..
            O.Pachner
          • mouss
            ... Your first mission for this year would be to abandon giving bounce messages more importance than they deserve. the real infos are in postfix _logs_. ...
            Message 5 of 11 , Jan 2, 2008
            • 0 Attachment
              Ondrej Pachner wrote:
              > hi,
              >
              > On Wed, 2 Jan 2008, mouss wrote:
              >>> message header with the final envelope recipient address,
              >>> prepends an X-Original-To: header with the recipient
              >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
              >>> address as given to Postfix, and prepends a Return-Path:
              >>> message header with the envelope sender address.
              >>> this is what I'm missing :-(
              >>
              >> disable address rewrite before the filter. only do address rewrite
              >> after the filter. More infos in the FILTER README.
              >
              > I'm trying to do it this way:
              >
              > smtp inet n - - - - smtpd
              > -o smtpd_use_tls=no
              > -o smtpd_sasl_auth_enable=no
              > -o content_filter=smtp-amavis:[127.0.0.1]:10024
              > -o receive_override_options=no_address_mappings
              >
              > but it bounces me the message back saying:
              >
              > This is the mail system at host xxx.my.domain.
              >
              > I'm sorry to have to inform you that your message could not
              > be delivered to one or more recipients. It's attached below.
              >
              > For further assistance, please send mail to postmaster.
              >
              > If you do so, please include this problem report. You can
              > delete your own text from the attached returned message.
              >
              > The mail system
              >
              > <lalala@...>: user unknown. Command output: Invalid user
              > specified.
              >

              Your first mission for this year would be to abandon giving bounce
              messages more importance than they deserve. the real infos are in
              postfix _logs_.

              > when I comment out the receive_override_options line, then it works the
              > way I described :-( so I probably need just a control (not expansion) of
              > the virtual user.. but I really don't know how :-( maybe some
              > smtpd_recipient_restrictions which will say some OK or ACCEPT if it
              > finds the virtual catch-all for the recipient? really, I have no glue
              > how to fix this..

              make sure address rewrite is not disabled after the filter. you need to
              show: 'postconf -n' output and master.cf. feel free to hide private
              infos, but this coherently.
            • Ondrej Pachner
              hi, ... postconf -n: alias_maps = hash:/etc/postfix/aliases append_dot_mydomain = no biff = no broken_sasl_auth_clients = yes config_directory = /etc/postfix
              Message 6 of 11 , Jan 2, 2008
              • 0 Attachment
                hi,

                On Wed, 2 Jan 2008, mouss wrote:
                > Your first mission for this year would be to abandon giving bounce messages
                > more importance than they deserve. the real infos are in postfix _logs_.
                >
                > make sure address rewrite is not disabled after the filter. you need to show:
                > 'postconf -n' output and master.cf. feel free to hide private infos, but this
                > coherently.

                postconf -n:

                alias_maps = hash:/etc/postfix/aliases
                append_dot_mydomain = no
                biff = no
                broken_sasl_auth_clients = yes
                config_directory = /etc/postfix
                enable_original_recipient = yes
                inet_interfaces = all
                mailbox_command = procmail -a "$EXTENSION"
                mailbox_size_limit = 0
                message_size_limit = 20480000
                mydestination = myserver.domain.tld, localhost.domain.tld, localhost
                mydomain = domain.tld
                myhostname = smtp.domain.tld
                mynetworks = /etc/postfix/mynetworks
                myorigin = domain.tld
                recipient_delimiter = +
                relay_domains = proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf
                relayhost =
                smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
                smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
                smtpd_data_restrictions = reject_unauth_pipelining
                smtpd_hard_error_limit = 10
                smtpd_helo_required = yes
                smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unlisted_recipient, check_recipient_access hash:/etc/postfix/reject_over_quota, check_sender_access hash:/etc/postfix/rbl_sender_exceptions, check_client_access hash:/etc/postfix/rbl_client_exceptions, check_recipient_access hash:/etc/postfix/rbl_recipient_exceptions, reject_rbl_client sbl-xbl.spamhaus.org
                smtpd_sasl_auth_enable = yes
                smtpd_sasl_authenticated_header = yes
                smtpd_sasl_local_domain = $myhostname
                smtpd_sasl_security_options = noanonymous
                smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access, reject_non_fqdn_sender, reject_unknown_sender_domain
                smtpd_soft_error_limit = 8
                smtpd_tls_CAfile = /etc/postfix/ssl/cacert.domain.tld.pem
                smtpd_tls_cert_file = /etc/postfix/ssl/cert.smtp.domain.tld.pem
                smtpd_tls_key_file = /etc/postfix/ssl/privkey.smtp.domain.tld.pem
                smtpd_tls_received_header = yes
                smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
                smtpd_use_tls = yes
                transport_maps = hash:/etc/postfix/transport
                virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf, hash:/etc/postfix/virtual
                virtual_gid_maps = static:6060
                virtual_mailbox_base = /var/vmail
                virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
                virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
                virtual_minimum_uid = 6060
                virtual_transport = maildrop
                virtual_uid_maps = static:6060

                master.cf:

                #
                # Postfix master process configuration file. For details on the format
                # of the file, see the master(5) manual page (command: "man 5 master").
                #
                # ==========================================================================
                # service type private unpriv chroot wakeup maxproc command + args
                # (yes) (yes) (yes) (never) (100)
                # ==========================================================================
                smtp inet n - - - - smtpd
                -o smtpd_use_tls=no
                -o smtpd_sasl_auth_enable=no
                -o content_filter=smtp-amavis:[127.0.0.1]:10024
                # -o receive_override_options=no_address_mappings
                # ^^^^^^^^^^^^^^^^ with this ine uncommented postfix doesn't deliver
                # mail into catch-all box at all

                # If they want to relay, make them use port 587 (submission) or port 465 (smtps)
                # If using submission port, configure client to use CRAM-MD5
                submission inet n - - - - smtpd
                -o smtpd_use_tls=no
                -o smtpd_sasl_auth_enable=yes
                -o smtpd_client_restrictions=permit_sasl_authenticated,reject
                -o content_filter=smtp-amavis:[127.0.0.1]:10026
                # -o receive_override_options=no_address_mappings
                # Outlook and OE (and many others) expect smtpd_tls_wrappermode,
                # so have them submit here (port 465):
                smtps inet n - - - - smtpd
                -o smtpd_enforce_tls=yes
                -o smtpd_tls_wrappermode=yes
                -o smtpd_sasl_auth_enable=yes
                -o smtpd_client_restrictions=permit_sasl_authenticated,reject
                -o content_filter=smtp-amavis:[127.0.0.1]:10026
                # -o receive_override_options=no_address_mappings
                # We will use port 4650 for clients that use STARTTLS:
                4650 inet n - - - - smtpd
                -o smtpd_enforce_tls=yes
                -o smtpd_sasl_auth_enable=yes
                -o smtpd_client_restrictions=permit_sasl_authenticated,reject
                -o content_filter=smtp-amavis:[127.0.0.1]:10026
                # -o receive_override_options=no_address_mappings
                #628 inet n - - - - qmqpd
                pickup fifo n - - 60 1 pickup
                -o content_filter=
                cleanup unix n - - - 0 cleanup
                amavis-cleanup unix n - - - 0 cleanup
                -o virtual_alias_maps=
                qmgr fifo n - n 300 1 qmgr
                #qmgr fifo n - - 300 1 oqmgr
                tlsmgr unix - - - 1000? 1 tlsmgr
                rewrite unix - - - - - trivial-rewrite
                bounce unix - - - - 0 bounce
                defer unix - - - - 0 bounce
                trace unix - - - - 0 bounce
                verify unix - - - - 1 verify
                flush unix n - - 1000? 0 flush
                proxymap unix - - n - - proxymap
                smtp unix - - - - - smtp
                # When relaying mail as backup MX, disable fallback_relay to avoid MX loops
                relay unix - - - - - smtp
                -o fallback_relay=
                # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
                showq unix n - - - - showq
                error unix - - - - - error
                discard unix - - - - - discard
                local unix - n n - - local
                virtual unix - n n - - virtual
                lmtp unix - - - - - lmtp
                anvil unix - - - - 1 anvil
                scache unix - - - - 1 scache
                #
                # ====================================================================
                # Interfaces to non-Postfix software. Be sure to examine the manual
                # pages of the non-Postfix software to find out what options it wants.
                #
                # Many of the following services use the Postfix pipe(8) delivery
                # agent. See the pipe(8) man page for information about ${recipient}
                # and other message envelope options.
                # ====================================================================
                #
                # maildrop. See the Postfix MAILDROP_README file for details.
                # Also specify in main.cf: maildrop_destination_recipient_limit=1
                #
                #maildrop unix - n n - - pipe
                # flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
                maildrop unix - n n - - pipe
                flags=DRhu user=vmail:daemon argv=/usr/bin/maildrop -w 90
                -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}
                vacation unix - n n - - pipe
                flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl
                -f ${sender} -- ${recipient}
                #
                # See the Postfix UUCP_README file for configuration details.
                #
                uucp unix - n n - - pipe
                flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
                #
                # Other external delivery methods.
                #
                ifmail unix - n n - - pipe
                flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
                bsmtp unix - n n - - pipe
                flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
                scalemail-backend unix - n n - 2 pipe
                flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
                mailman unix - n n - - pipe
                flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
                ${nexthop} ${user}
                smtp-amavis unix - - n - 6 smtp
                -o smtp_data_done_timeout=1200
                -o smtp_send_xforward_command=yes
                -o disable_dns_lookups=yes
                -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
                127.0.0.1:10025 inet n - n - - smtpd
                -o cleanup_service_name=amavis-cleanup
                -o content_filter=
                -o local_recipient_maps=
                -o relay_recipient_maps=
                -o smtpd_restriction_classes=
                -o smtpd_delay_reject=no
                -o smtpd_client_restrictions=permit_mynetworks,reject
                -o smtpd_helo_restrictions=
                -o smtpd_sender_restrictions=
                -o smtpd_recipient_restrictions=permit_mynetworks,reject
                -o smtpd_data_restrictions=reject_unauth_pipelining
                -o smtpd_end_of_data_restrictions=
                -o mynetworks=127.0.0.0/8
                -o smtpd_error_sleep_time=0
                -o smtpd_soft_error_limit=1001
                -o smtpd_hard_error_limit=1000
                -o smtpd_client_connection_count_limit=0
                -o smtpd_client_connection_rate_limit=0
                -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks


                log output:

                with -o receive_override_options=no_address_mappings (as shown upper)

                Jan 2 14:16:51 smtp amavis[12465]: (12465-07) Passed CLEAN, MYNETS LOCAL [X.Y.Z.W] [X.Y.W.Q] <some@...> -> <prdprd@...>, Message-ID: <Pine.LNX.4.64.0801021405310.5021@localhost>, mail_id: sR4aAPT26nQS, Hits: -2.459, queued_as: 2FE9F5417D, 1198 ms
                Jan 2 14:16:51 smtp postfix/smtp[12968]: EBB0B5412C: to=<prdprd@...>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.3, delays=0.09/0/0/1.2, dsn=2.6.0, status=sent (250 2.6.0 Ok, id=12465-07, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 2FE9F5417D)
                Jan 2 14:16:51 smtp postfix/pipe[13000]: 2FE9F5417D: to=<prdprd@...>, relay=maildrop, delay=0.07, delays=0.05/0.01/0/0.01, dsn=5.1.1, status=bounced (user unknown. Command output: Invalid user specified. )

                with -o receiv... commented:

                Jan 2 13:26:31 smtp postfix/smtp[3135]: 4E4B654888:
                to=<pikacu@...>, orig_to=<prdprd@...>,
                relay=127.0.0.1[127.0.0.1]:10024, delay=1.4, delays=0.11/0/0/1.2,
                dsn=2.6.0, status=sent (250 2.6.0 Ok, id=02776-06, from
                MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 8EBC454A3D)

                BUT doesn't incude X-Original-To header :-(
              • mouss
                ... This is it. The after the filter smtpd have no virtual_alias_maps. don t play games with *_maps when filtering. you should not need any setting like this.
                Message 7 of 11 , Jan 2, 2008
                • 0 Attachment
                  Ondrej Pachner wrote:
                  > hi,
                  >
                  > On Wed, 2 Jan 2008, mouss wrote:
                  >> Your first mission for this year would be to abandon giving bounce
                  >> messages more importance than they deserve. the real infos are in
                  >> postfix _logs_.
                  >>
                  >> make sure address rewrite is not disabled after the filter. you need
                  >> to show: 'postconf -n' output and master.cf. feel free to hide private
                  >> infos, but this coherently.
                  >
                  > postconf -n:
                  >
                  > alias_maps = hash:/etc/postfix/aliases
                  > append_dot_mydomain = no
                  > biff = no
                  > broken_sasl_auth_clients = yes
                  > config_directory = /etc/postfix
                  > enable_original_recipient = yes
                  > inet_interfaces = all
                  > mailbox_command = procmail -a "$EXTENSION"
                  > mailbox_size_limit = 0
                  > message_size_limit = 20480000
                  > mydestination = myserver.domain.tld, localhost.domain.tld, localhost
                  > mydomain = domain.tld
                  > myhostname = smtp.domain.tld
                  > mynetworks = /etc/postfix/mynetworks
                  > myorigin = domain.tld
                  > recipient_delimiter = +
                  > relay_domains = proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf
                  > relayhost = smtp_tls_session_cache_database =
                  > btree:${queue_directory}/smtp_scache
                  > smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
                  > smtpd_data_restrictions = reject_unauth_pipelining
                  > smtpd_hard_error_limit = 10
                  > smtpd_helo_required = yes
                  > smtpd_recipient_restrictions = permit_mynetworks,
                  > permit_sasl_authenticated, reject_unauth_destination,
                  > reject_unlisted_recipient, check_recipient_access
                  > hash:/etc/postfix/reject_over_quota, check_sender_access
                  > hash:/etc/postfix/rbl_sender_exceptions, check_client_access
                  > hash:/etc/postfix/rbl_client_exceptions, check_recipient_access
                  > hash:/etc/postfix/rbl_recipient_exceptions, reject_rbl_client
                  > sbl-xbl.spamhaus.org
                  > smtpd_sasl_auth_enable = yes
                  > smtpd_sasl_authenticated_header = yes
                  > smtpd_sasl_local_domain = $myhostname
                  > smtpd_sasl_security_options = noanonymous
                  > smtpd_sender_restrictions = check_sender_access
                  > hash:/etc/postfix/sender_access, reject_non_fqdn_sender,
                  > reject_unknown_sender_domain
                  > smtpd_soft_error_limit = 8
                  > smtpd_tls_CAfile = /etc/postfix/ssl/cacert.domain.tld.pem
                  > smtpd_tls_cert_file = /etc/postfix/ssl/cert.smtp.domain.tld.pem
                  > smtpd_tls_key_file = /etc/postfix/ssl/privkey.smtp.domain.tld.pem
                  > smtpd_tls_received_header = yes
                  > smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
                  > smtpd_use_tls = yes
                  > transport_maps = hash:/etc/postfix/transport
                  > virtual_alias_maps =
                  > proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf,
                  > hash:/etc/postfix/virtual
                  > virtual_gid_maps = static:6060
                  > virtual_mailbox_base = /var/vmail
                  > virtual_mailbox_domains =
                  > proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
                  > virtual_mailbox_maps =
                  > proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
                  > virtual_minimum_uid = 6060
                  > virtual_transport = maildrop
                  > virtual_uid_maps = static:6060
                  >
                  > master.cf:
                  >
                  > #
                  > # Postfix master process configuration file. For details on the format
                  > # of the file, see the master(5) manual page (command: "man 5 master").
                  > #
                  > #
                  > ==========================================================================
                  > # service type private unpriv chroot wakeup maxproc command + args
                  > # (yes) (yes) (yes) (never) (100)
                  > #
                  > ==========================================================================
                  > smtp inet n - - - - smtpd
                  > -o smtpd_use_tls=no
                  > -o smtpd_sasl_auth_enable=no
                  > -o content_filter=smtp-amavis:[127.0.0.1]:10024
                  > # -o receive_override_options=no_address_mappings
                  > # ^^^^^^^^^^^^^^^^ with this ine uncommented postfix doesn't deliver
                  > # mail into catch-all box at all
                  >
                  > # If they want to relay, make them use port 587 (submission) or port 465
                  > (smtps)
                  > # If using submission port, configure client to use CRAM-MD5
                  > submission inet n - - - - smtpd
                  > -o smtpd_use_tls=no
                  > -o smtpd_sasl_auth_enable=yes
                  > -o smtpd_client_restrictions=permit_sasl_authenticated,reject
                  > -o content_filter=smtp-amavis:[127.0.0.1]:10026
                  > # -o receive_override_options=no_address_mappings # Outlook and OE (and
                  > many others) expect smtpd_tls_wrappermode,
                  > # so have them submit here (port 465):
                  > smtps inet n - - - - smtpd
                  > -o smtpd_enforce_tls=yes
                  > -o smtpd_tls_wrappermode=yes
                  > -o smtpd_sasl_auth_enable=yes
                  > -o smtpd_client_restrictions=permit_sasl_authenticated,reject
                  > -o content_filter=smtp-amavis:[127.0.0.1]:10026
                  > # -o receive_override_options=no_address_mappings
                  > # We will use port 4650 for clients that use STARTTLS:
                  > 4650 inet n - - - - smtpd
                  > -o smtpd_enforce_tls=yes
                  > -o smtpd_sasl_auth_enable=yes
                  > -o smtpd_client_restrictions=permit_sasl_authenticated,reject
                  > -o content_filter=smtp-amavis:[127.0.0.1]:10026
                  > # -o receive_override_options=no_address_mappings
                  > #628 inet n - - - - qmqpd
                  > pickup fifo n - - 60 1 pickup
                  > -o content_filter=
                  > cleanup unix n - - - 0 cleanup
                  > amavis-cleanup unix n - - - 0 cleanup
                  > -o virtual_alias_maps=

                  This is it. The after the filter smtpd have no virtual_alias_maps.
                  don't play games with *_maps when filtering. you should not need any
                  setting like this.

                  > qmgr fifo n - n 300 1 qmgr
                  > #qmgr fifo n - - 300 1 oqmgr
                  > tlsmgr unix - - - 1000? 1 tlsmgr
                  > rewrite unix - - - - - trivial-rewrite
                  > bounce unix - - - - 0 bounce
                  > defer unix - - - - 0 bounce
                  > trace unix - - - - 0 bounce
                  > verify unix - - - - 1 verify
                  > flush unix n - - 1000? 0 flush
                  > proxymap unix - - n - - proxymap
                  > smtp unix - - - - - smtp
                  > # When relaying mail as backup MX, disable fallback_relay to avoid MX loops
                  > relay unix - - - - - smtp
                  > -o fallback_relay=
                  > # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
                  > showq unix n - - - - showq
                  > error unix - - - - - error
                  > discard unix - - - - - discard
                  > local unix - n n - - local
                  > virtual unix - n n - - virtual
                  > lmtp unix - - - - - lmtp
                  > anvil unix - - - - 1 anvil
                  > scache unix - - - - 1 scache
                  > #
                  > # ====================================================================
                  > # Interfaces to non-Postfix software. Be sure to examine the manual
                  > # pages of the non-Postfix software to find out what options it wants.
                  > #
                  > # Many of the following services use the Postfix pipe(8) delivery
                  > # agent. See the pipe(8) man page for information about ${recipient}
                  > # and other message envelope options.
                  > # ====================================================================
                  > #
                  > # maildrop. See the Postfix MAILDROP_README file for details.
                  > # Also specify in main.cf: maildrop_destination_recipient_limit=1
                  > #
                  > #maildrop unix - n n - - pipe
                  > # flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
                  > maildrop unix - n n - - pipe
                  > flags=DRhu user=vmail:daemon argv=/usr/bin/maildrop -w 90
                  > -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}
                  > vacation unix - n n - - pipe
                  > flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl
                  > -f ${sender} -- ${recipient}
                  > #
                  > # See the Postfix UUCP_README file for configuration details.
                  > #
                  > uucp unix - n n - - pipe
                  > flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail
                  > ($recipient)
                  > #
                  > # Other external delivery methods.
                  > #
                  > ifmail unix - n n - - pipe
                  > flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
                  > bsmtp unix - n n - - pipe
                  > flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender
                  > $recipient
                  > scalemail-backend unix - n n - 2 pipe
                  > flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
                  > ${nexthop} ${user} ${extension}
                  > mailman unix - n n - - pipe
                  > flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
                  > ${nexthop} ${user}
                  > smtp-amavis unix - - n - 6 smtp
                  > -o smtp_data_done_timeout=1200
                  > -o smtp_send_xforward_command=yes
                  > -o disable_dns_lookups=yes
                  > -o
                  > receive_override_options=no_header_body_checks,no_unknown_recipient_checks
                  > 127.0.0.1:10025 inet n - n - - smtpd
                  > -o cleanup_service_name=amavis-cleanup
                  > -o content_filter=
                  > -o local_recipient_maps=

                  nor do you need this.

                  > -o relay_recipient_maps=

                  nor this.

                  > -o smtpd_restriction_classes=
                  > -o smtpd_delay_reject=no
                  > -o smtpd_client_restrictions=permit_mynetworks,reject
                  > -o smtpd_helo_restrictions=
                  > -o smtpd_sender_restrictions=
                  > -o smtpd_recipient_restrictions=permit_mynetworks,reject
                  > -o smtpd_data_restrictions=reject_unauth_pipelining
                  > -o smtpd_end_of_data_restrictions=
                  > -o mynetworks=127.0.0.0/8
                  > -o smtpd_error_sleep_time=0
                  > -o smtpd_soft_error_limit=1001
                  > -o smtpd_hard_error_limit=1000
                  > -o smtpd_client_connection_count_limit=0
                  > -o smtpd_client_connection_rate_limit=0
                  > -o
                  > receive_override_options=no_header_body_checks,no_unknown_recipient_checks
                  >
                  >
                  > log output:
                  >
                  > with -o receive_override_options=no_address_mappings (as shown upper)
                  >
                  > Jan 2 14:16:51 smtp amavis[12465]: (12465-07) Passed CLEAN, MYNETS
                  > LOCAL [X.Y.Z.W] [X.Y.W.Q] <some@...> -> <prdprd@...>,
                  > Message-ID: <Pine.LNX.4.64.0801021405310.5021@localhost>, mail_id:
                  > sR4aAPT26nQS, Hits: -2.459, queued_as: 2FE9F5417D, 1198 ms
                  > Jan 2 14:16:51 smtp postfix/smtp[12968]: EBB0B5412C:
                  > to=<prdprd@...>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.3,
                  > delays=0.09/0/0/1.2, dsn=2.6.0, status=sent (250 2.6.0 Ok, id=12465-07,
                  > from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 2FE9F5417D)
                  > Jan 2 14:16:51 smtp postfix/pipe[13000]: 2FE9F5417D:
                  > to=<prdprd@...>, relay=maildrop, delay=0.07,
                  > delays=0.05/0.01/0/0.01, dsn=5.1.1, status=bounced (user unknown.
                  > Command output: Invalid user specified. )
                  >
                  > with -o receiv... commented:
                  >
                  > Jan 2 13:26:31 smtp postfix/smtp[3135]: 4E4B654888:
                  > to=<pikacu@...>, orig_to=<prdprd@...>,
                  > relay=127.0.0.1[127.0.0.1]:10024, delay=1.4, delays=0.11/0/0/1.2,
                  > dsn=2.6.0, status=sent (250 2.6.0 Ok, id=02776-06, from
                  > MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 8EBC454A3D)
                  >
                  > BUT doesn't incude X-Original-To header :-(
                • Ondrej Pachner
                  hi, thank you for advice, but the problem persists: I still don t have X-Original-To header in the mail, although I have enable_original_recipient = yes :-(
                  Message 8 of 11 , Jan 2, 2008
                  • 0 Attachment
                    hi,
                    thank you for advice, but the problem persists: I still don't have
                    X-Original-To header in the mail, although I have
                    enable_original_recipient = yes :-(

                    O.Pachner

                    --8<-- the header of received email --8<--
                    Return-Path: <sender@...>
                    Delivered-To: pikacu@... <- this is catch-all box
                    Received: from localhost (localhost [127.0.0.1])
                    by smtp.domain.tld (Postfix) with ESMTP id CD4C9542BB
                    for <papagaj@...>; Wed, 2 Jan 2008 14:50:17 +0100 (CET)
                    X-Virus-Scanned: Debian amavisd-new at lam.cz
                    X-Spam-Score: -2.465
                    X-Spam-Level:
                    X-Spam-Status: No, score=-2.465 required=6.31 tests=[AWL=0.134,
                    BAYES_00=-2.599]
                    Received: from smtp.domain.tld ([127.0.0.1])
                    by localhost (smtp.domain.tld [127.0.0.1]) (amavisd-new, port
                    10024)
                    with ESMTP id 0T4n58xNM5ZL for <papagaj@...>;
                    Wed, 2 Jan 2008 14:50:16 +0100 (CET)
                    Received: from [X.Y.Z.Q] (unknown [A.B.C.D])
                    by smtp.domain.tld (Postfix) with ESMTP id 902D05429A
                    for <papagaj@...>; Wed, 2 Jan 2008 14:50:16 +0100 (CET)
                    Date: Wed, 2 Jan 2008 14:39:35 +0100 (CET)
                    From: Sender <sender@...>
                    X-X-Sender: myname@mymachine
                    To: undisclosed-recipients: ;
                    Subject: testik jiso raz
                    Message-ID: <Pine.LNX.4.64.0801021439020.5021@localhost>
                    MIME-Version: 1.0
                    Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
                    --8<--

                    On Wed, 2 Jan 2008, mouss wrote:

                    >> amavis-cleanup unix n - - - 0 cleanup
                    >> -o virtual_alias_maps=
                    >
                    > This is it. The after the filter smtpd have no virtual_alias_maps.
                    > don't play games with *_maps when filtering. you should not need any setting
                    > like this.
                    >
                    >> -o local_recipient_maps=
                    >
                    > nor do you need this.
                    >
                    >> -o relay_recipient_maps=
                    >
                    > nor this.
                  • Ondrej Pachner
                    Hi, thank you a lot, this helped :-) How could I forgot maildrop?! O.Pachner
                    Message 9 of 11 , Jan 2, 2008
                    • 0 Attachment
                      Hi,
                      thank you a lot, this helped :-) How could I forgot maildrop?!
                      O.Pachner

                      On Wed, 2 Jan 2008, mouss wrote:
                      > Ondrej Pachner wrote:
                      >> hi,
                      >> thank you for advice, but the problem persists: I still don't have
                      >> X-Original-To header in the mail, although I have
                      >> enable_original_recipient = yes :-(
                      >
                      > maildrop unix - n n - - pipe
                      > flags=DRhu user=vmail:daemon argv=/usr/bin/maildrop -w 90
                      > -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}
                      >
                      > look at the flags=...
                    • mouss
                      ... You have maildrop unix - n n - - pipe flags=DRhu user=vmail:daemon argv=/usr/bin/maildrop -w 90 -d ${user}@${nexthop}
                      Message 10 of 11 , Jan 2, 2008
                      • 0 Attachment
                        Ondrej Pachner wrote:
                        > hi,
                        > thank you for advice, but the problem persists: I still don't have
                        > X-Original-To header in the mail, although I have
                        > enable_original_recipient = yes :-(
                        >

                        You have

                        maildrop unix - n n - - pipe
                        flags=DRhu user=vmail:daemon argv=/usr/bin/maildrop -w 90
                        -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}

                        look at the flags=...

                        From http://www.postfix.org/pipe.8.html

                        O Prepend an "X-Original-To: recipient" mes-
                        sage header with the recipient address as
                        given to Postfix. Note: for this to work,
                        the transport_destination_recipient_limit
                        must be 1 (see SINGLE-RECIPIENT DELIVERY
                        above for details).

                        This feature is available as of Postfix 2.0.
                      Your message has been successfully submitted and would be delivered to recipients shortly.