A temporary failure DSN without VERP is reported as unrecognized.
This actually occurred on mailman-users@mailman3.org. The DSN was sent to mailman-users-bounces+user=domain@mailman3.org
, but the To: header was SRS0=Cpi3=WK=mailman3.org=mailman-users-bounces+user=domain@srs.mta1.culturebase.org
.
VERP recognition doesn't see the envelope recipient and the local part of To: is SRS0=Cpi3=WK=mailman3.org=mailman-users-bounces
which doesn't match the list's bounces address so VERP recognition fails. VERP recognition will also fail if the message isn't VERPed in the first place.
When VERP recognition fails, bounce runner only looks for permanent failures, and finding none, reports the bounce as unrecognized. It should look for all_failures and if there are temporary but no permanent failures, it should just ignore the bounce.