Change PH/12 for 4.50 fixed one bug and introduced another; if a host's
[exim.git] / src / src / transports / README
CommitLineData
0756eb3c
PH
1$Cambridge: exim/src/src/transports/README,v 1.1 2004/10/07 13:10:02 ph10 Exp $
2
3TRANSPORTS:
4
5A delivery attempt results in one of the following values being placed in
6addr->transport_return:
7
8 OK success
9 DEFER temporary failure
10 FAIL permanent failure
11 PANIC disaster - causes exim to bomb
12
13The field is initialized to DEFER when the address is created, in order that
14unexpected process crashes or other problems don't cause the message to be
15deleted.
16
17For non-OK values, additional information is placed in addr->errno,
18addr->more_errno, and optionally in addr->message. These are inspected only if
19the status is not OK, with one exception (see below).
20
21In addition, the addr->special_action field can be set to request a non-default
22action. The default action after FAIL is to return to sender; the default
23action after DEFER is nothing. The alternatives are:
24
25 SPECIAL_NONE (default) no special action
26 SPECIAL_FREEZE freeze the message
27 SPECIAL_WARN send warning message
28
29The SPECIAL_WARN action is the exception referred to above. It is picked up
30only after a *successful* delivery; it causes a warning message to be sent
31containing the text of warn_message to warn_to. It can be used in appendfile,
32for example, to send a warning message when the mailbox size crosses a given
33threshold.
34
35If the transport is handling a batch of several addresses, it may either put an
36individual value in each address structure, and return TRUE, or it may put a
37common value in the first address, and return FALSE.
38
39Remote transports usually return TRUE and local transports usually return
40FALSE; however, the lmtp transport may return either value, depending on what
41happens inside it.
42
43****