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