Bounce Messages

 < Free Open Study > 



qmail's bounce messages are in a format called QSBMF (qmail-send bounce message format), which is documented on the Web (http://cr.yp.to/proto/qsbmf.txt). RFCs 1892, 1893, and 1894 define another bounce message format called Delivery Status Notification (DSN). The status codes defined in RFC 1893 are also used by QSBMF and other non-DSN bounce message formats. Some MTAs still use their own ad-hoc bounce message formats.

QSBMF

QSBMF messages are designed to be simultaneously human-friendly and easily parsed by automated bounce handlers. Listing E-1 shows a typical bounce message.

Listing E-1: A QSMBF bounce message

start example
 From: MAILER-DAEMON@dolphin.example.com To: dave@dolphin.example.com Subject: failure notice Hi. This is the qmail-send program at dolphin.example.com. I'm afraid I wasn't able to deliver your message to the following addresses. This is a permanent error; I've given up. Sorry it didn't work out. <nosuchuser@dolphin.example.com>: Sorry, no mailbox here by that name. (#5.1.1) -- Below this line is a copy of the message. Return-Path: <dave@dolphin.example.com> Received: (qmail 3458 invoked by uid 500); 26 Aug 2001 21:56:48 -0000 Date: 26 Aug 2001 21:56:48 -0000 Message-ID: <20010826215648.3457.qmail@dolphin.example.com> From: dave@dolphin.example.com to: nosuchuser@dolphin.example.com 
end example

The body of a QSBMF message consists of four parts: an introductory paragraph, a series of one or more recipient paragraphs, a break paragraph, and a copy of the original message. Blank lines separate the paragraphs.

In this case, the introductory paragraph is:

 Hi. This is the qmail-send program at dolphin.example.com. I'm afraid I wasn't able to deliver your message to the following addresses. This is a permanent error; I've given up. Sorry it didn't work out. 

The initial string, Hi. This is the..., identifies the message as QSBMF. This paragraph is intended for human readers and identifies the source of the message.

The recipient paragraph in this example is this:

 <nosuchuser@dolphin.example.com>: Sorry, no mailbox here by that name. (#5.1.1) 

The first line identifies the problematic recipient address, and the second line is a description of the problem. The (#5.1.1) is an RFC 1893 status code- these will be explained in the next section.

The break paragraph starts with a - character. In this example, it's this line:

 -- Below this line is a copy of the message. 

The remainder of the bounce message is the copy of the original message.

An interesting special case is that of the double bounce: the bounce message sent to the postmaster when a bounce message is undeliverable. With double bounces, the message included is the original bounce message-a QSBMF bounce enclosed in another QSBMF bounce.

RFC 1893 Status Codes

These are three-digit codes displayed as C.S.D, where C is the class sub-code, S is the subject sub-code, and D is the detail sub-code.

The class sub-code is one of three values: 2 (success), 4 (temporary error), or 5 (permanent error). They correlate with the initial digits of SMTP status codes.

The subject sub-code has seven possible values, as listed in Table E-1.

Table E-1: RFC 1893 Subject Sub-Codes

CODE

NAME

MEANING

x.0.x

Other or Undefined Status

Problem unknown or undefined

x.1.x

Address Status

Problem with sender or recipient address syntax or validity

x.2.x

Mailbox Status

Problem with the recipient's mailbox

x.3.x

Mail System Status

Problem with the recipient host's mail system

x.4.x

Network and Routing Status

Problem with network or routing

x.5.x

Mail Delivery Protocol Status

Problem with mail delivery

x.6.x

Message Content or Media Status

Problem with message content or format

x.7.x

Security or Policy Status

Problem with security or policy

The detail sub-codes vary with subject sub-code. The only valid detail sub-code for subject sub-code 0 is 0: If an MTA doesn't know what subject sub-code applies, it doesn't make sense to categorize it at a lower level. The detail sub-codes for the other subject sub-codes are listed in Tables E-2 through E-8.

Table E-2: RFC 1893 Address Status Detail Sub-Codes

CODE

MEANING

x.1.0

Unknown problem with an address specified in this message

x.1.1

Nonexistent recipient (part left of @)

x.1.2

Invalid destination host (part right of @)

x.1.3

Bad destination address syntax

x.1.4

Ambiguous destination

x.1.5

Valid destination

x.1.6

Recipient has moved without a forwarding address

x.1.7

Bad sender's address syntax

x.1.8

Bad sender's host

Table E-3: RFC 1893 Mailbox Status Detail Sub-Codes

CODE

MEANING

x.2.0

Unknown problem with an existing mailbox

x.2.1

Mailbox disabled

x.2.2

Mailbox full

x.2.3

Message too big

x.2.4

Problem sending to mailing list

Table E-4: RFC 1893 Mail System Status Detail Sub-Codes

CODE

MEANING

x.3.0

Unknown/other problem with destination host's mail system

x.3.1

Mail system full

x.3.2

Not accepting messages

x.3.3

Mail system doesn't support requested feature

x.3.4

Message too big

x.3.5

Mail system misconfigured

Table E-5: RFC 1893 Network and Routing Status Detail Sub-Codes

CODE

MEANING

x.4.0

Unknown/other network problem

x.4.1

No answer from host

x.4.2

Bad connection

x.4.3

Directory service failure

x.4.4

Unable to route

x.4.5

Mail system congestion

x.4.6

Routing loop detected

x.4.7

Delivery time expired

Table E-6: RFC 1893 Mail Delivery Protocol Status Detail Sub-Codes

CODE

MEANING

x.5.0

Unknown/other problem delivering to next hop

x.5.1

Invalid command

x.5.2

Syntax error

x.5.3

Too many recipients

x.5.4

Invalid command arguments

x.5.5

Wrong protocol version

Table E-7: RFC 1893 Message Content or Message Media Status Detail Sub-Codes

CODE

MEANING

x.6.0

Unknown/other problem with message content

x.6.1

Media (format) not supported

x.6.2

Conversion necessary but prohibited

x.6.3

Conversion necessary but not supported

x.6.4

Message converted but with data loss

x.6.5

Conversion failed

Table E-8: RFC 1893 Security or Policy Status Detail Sub-Codes

CODE

MEANING

x.7.0

Unknown/other security problem

x.7.1

Delivery not authorized, message refused

x.7.2

Delivery to mailing list prohibited

x.7.3

Security conversion required but not possible

x.7.4

Security features not supported

x.7.5

Cryptographic failure

x.7.6

Cryptographic algorithm not supported

x.7.7

Message integrity failure



 < Free Open Study > 



The Qmail Handbook
The qmail Handbook
ISBN: 1893115402
EAN: 2147483647
Year: 2001
Pages: 186
Authors: Dave Sill

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net