A. Schulze:
> Hello,
> 
> updated from 3.4.1 to 3.4.3 and at the same time dovecot-2.2 to dovecot-2.3 ( 
> + pigeonhole)
> I assume the changes behavior is dovecot/pigeonhole now using the advertised 
> "CHUNKING" extension.
> 
> Now an echo service (dovecot-2.3-pigeonhole) don't send messages anymore.
> Reason: "Data command rejected: Multi-recipient bounce" while there is 
> clearly only one recipient.

This is 13 years old: reject_multi_recipient_bounce has had the same
false rejects in smtpd_end_of_data_restrictions since Postfix 2.2.

Victor's patch addresses the symptom (BDAT) but not the root cause.
The patch below fixes both BDAT and smtpd_end_of_data_restrictions.

In this case, smaller is better.

        Wietse

diff -bur /var/tmp/postfix-3.5-20190310/src/smtpd/smtpd_check.c 
./src/smtpd/smtpd_check.c
--- /var/tmp/postfix-3.5-20190310/src/smtpd/smtpd_check.c       2018-08-23 
09:44:18.000000000 -0400
+++ ./src/smtpd/smtpd_check.c   2019-03-12 08:28:20.627312192 -0400
@@ -4583,7 +4583,7 @@
                status = check_recipient_rcpt_maps(state, state->recipient);
        } else if (strcasecmp(name, REJECT_MUL_RCPT_BOUNCE) == 0) {
            if (state->sender && *state->sender == 0 && state->rcpt_count
-               > (strcmp(state->where, SMTPD_CMD_DATA) ? 0 : 1))
+               > (strcmp(state->where, SMTPD_CMD_RCPT) != 0))
                status = smtpd_check_reject(state, MAIL_ERROR_POLICY,
                                            var_mul_rcpt_code, "5.5.3",
                                "<%s>: %s rejected: Multi-recipient bounce",

Reply via email to