Delivery Temporarily Suspended Unknown Mail Transport Error Postfix — Upd
grep -E "^dovecot" /etc/postfix/master.cf Output example:
Introduction Few things are as frustrating for a mail server administrator as a vague error message. When you run a Postfix mail server—especially after a routine system update using apt update , yum update , or a manual source compilation—you might start seeing a cryptic message in your mail logs: "delivery temporarily suspended: unknown mail transport error" This message is a digital warning light. It tells you something is wrong, but it doesn’t tell you what. The word "unknown" is particularly alarming because it suggests Postfix itself cannot categorize the nature of the failure.
Procmail (or the custom binary) was removed or replaced by a stub that returns a non-zero exit code. Many distributions removed Procmail by default after 2020. grep -E "^dovecot" /etc/postfix/master
sudo journalctl -u dovecot --since "10 minutes ago" sudo journalctl -u spamassassin Scenario 1: Broken Dovecot LMTP or deliver binary Symptom: You updated Postfix but also updated Dovecot from version 2.2 to 2.3 (or similar). The error appears for local or virtual deliveries.
Dovecot changed the location of its binary or the protocol for LMTP sockets. For example, dovecot-lda (Local Delivery Agent) may have moved from /usr/lib/dovecot/deliver to /usr/libexec/dovecot/dovecot-lda . The word "unknown" is particularly alarming because it
This article provides a deep dive into the root causes of this error, specifically focusing on scenarios that arise . We will explore why this happens, how to diagnose the exact issue, and step-by-step solutions to restore normal mail flow. Understanding the Error: What Does It Mean? In Postfix terminology, a transport is the method by which a message is delivered to its final destination. This could be a local mailbox (e.g., using local transport), an LMTP socket, a Dovecot deliver agent, or a relay host (e.g., smtp transport).
dovecot unix - n n - - pipe To (add v flag and increase verbosity): sudo journalctl -u dovecot --since "10 minutes ago"
The filter binary was recompiled but its dependencies (e.g., Perl modules, libssl) are now incompatible with the version Postfix is trying to run.