Skip to main content

How do internal vs external MTAs treat the same error code?

Internal and external MTAs handle errors differently:

Internal MTA (your own Postfix, Exim, etc.):

Full SMTP transcript logged. Raw error codes preserved. Custom handling rules possible. Complete diagnostic information. Direct troubleshooting access.

External MTA (ESP, relay service):

Errors may be categorized and abstracted. Detail level depends on provider. May apply their own classification. Dashboard-friendly but less raw data. API access to bounce data.

Same error, different presentation:

550 5.1.1 via internal: Full remote server response in logs. 550 5.1.1 via ESP: "Hard bounce - user not found" category.

Implications:

Internal: More control, more complexity. External: Less detail, more convenience. Deep troubleshooting may require internal access.

Internal MTAs give you the raw transcript; external MTAs give you the summary.