1*41fbaed0StronPostfix DSN support implementation notes 2*41fbaed0Stron======================================== 3*41fbaed0Stron 4*41fbaed0StronIn delivery status reports, Postfix now properly reports remote 5*41fbaed0StronLMTP/SMTP server replies with Diagnostic-Type: SMTP, with the 6*41fbaed0StronDiagnostic-Code: equal to the server reply, and with Remote-MTA: 7*41fbaed0Stronequal to the name of the remote MTA. 8*41fbaed0Stron 9*41fbaed0StronOf course Postfix still produces the same "informal" error descriptions 10*41fbaed0Stronthat it produced before (for example, the error text that appears 11*41fbaed0Stronin the first section of a bounce report). 12*41fbaed0Stron 13*41fbaed0StronOther error reports are not in the form of SMTP-style replies. 14*41fbaed0Stron 15*41fbaed0Stron- The Postfix LMTP/SMTP client generates Diagnostic-Type: X-Postfix 16*41fbaed0Stronfor locally generated errors (host not found, connection timed out 17*41fbaed0Stronetc.). It generates Diagnostic-Type: SMTP only for replies from 18*41fbaed0Stronan SMTP server. 19*41fbaed0Stron 20*41fbaed0Stron- The queue manager generates Diagnostic-Type: X-Postfix for errors 21*41fbaed0Stronthat it detects. It also receives error information from delivery 22*41fbaed0Stronagents and reports that information unmodified when it decides to 23*41fbaed0Stron"temporarily suspend" a delivery channel. 24*41fbaed0Stron 25*41fbaed0Stron- The "pipe to command" code in local(8) and pipe(8) produces 26*41fbaed0StronDiagnostic-Type: X-UNIX, and Diagnostic-Code: text that is taken 27*41fbaed0Stronfrom /usr/include/sysexits.h or from the command output. 28*41fbaed0Stron 29*41fbaed0Stron- The code that delivers to mailbox produces Diagnostic-Type: 30*41fbaed0StronX-Postfix and Diagnostic-Code: text that is the same good old 31*41fbaed0StronPostfix error message that we are already familiar with. Typically 32*41fbaed0Stronthese are errno-style reports about locking a file or appending a 33*41fbaed0Stronfile. 34