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