Dave Jones:
> Feb 19 16:55:12 smtp1 postfwd[27034]: [RULES] rule=4, id=RCPTCNT1,
> queue=C2B7433E7CE, client=unknown[172.27.0.203], sender=<
> r...@server1.example.com>, recipient=<r...@example.com>, helo=<
> server1.example.com>, proto=ESMTP, state=END-OF-MESSAGE, delay=0.00s,
> hits=RCPTCNT1, action=PREPEND X-Rcpt-Count: test

Please pay attention to this fragment from the access(5) manpage:

       PREPEND headername: headervalue
              Prepend the specified message header to the message.  When  more
              than  one  PREPEND  action  executes, the first prepended header
              appears before the second etc. prepended header.

              Note: this action must execute before  the  message  content  is
              received;    it    cannot    execute    in    the   context   of
              smtpd_end_of_data_restrictions.

Try using it in smtpd_data_restrictions.

In fact, Postfix will log a warning if you use PREPEND in
smtpd_end_of_data_restrictions, with this code fragment:

        if (strcmp(state->where, SMTPD_AFTER_DOT) == 0) {
            msg_warn("access table %s: action PREPEND must be used before %s",
                     table, VAR_EOD_CHECKS);
            return (SMTPD_CHECK_DUNNO);
        }

The warning should look like this:

    warning: access table XXX: action PREPEND must be used before
    smtpd_end_of_data_restrictions

        Wietse

Reply via email to