xref: /netbsd-src/external/ibm-public/postfix/dist/implementation-notes/DSN (revision 76c7fc5f6b13ed0b1508e6b313e88e59977ed78e)
1Postfix DSN support implementation notes
2========================================
3
4In delivery status reports, Postfix now properly reports remote
5LMTP/SMTP server replies with Diagnostic-Type: SMTP, with the
6Diagnostic-Code: equal to the server reply, and with Remote-MTA:
7equal to the name of the remote MTA.
8
9Of course Postfix still produces the same "informal" error descriptions
10that it produced before (for example, the error text that appears
11in the first section of a bounce report).
12
13Other error reports are not in the form of SMTP-style replies.
14
15- The Postfix LMTP/SMTP client generates Diagnostic-Type: X-Postfix
16for locally generated errors (host not found, connection timed out
17etc.).  It generates Diagnostic-Type: SMTP only for replies from
18an SMTP server.
19
20- The queue manager generates Diagnostic-Type: X-Postfix for errors
21that it detects. It also receives error information from delivery
22agents and reports that information unmodified when it decides to
23"temporarily suspend" a delivery channel.
24
25- The "pipe to command" code in local(8) and pipe(8) produces
26Diagnostic-Type: X-UNIX, and Diagnostic-Code: text that is taken
27from /usr/include/sysexits.h or from the command output.
28
29- The code that delivers to mailbox produces Diagnostic-Type:
30X-Postfix and Diagnostic-Code: text that is the same good old
31Postfix error message that we are already familiar with. Typically
32these are errno-style reports about locking a file or appending a
33file.
34