Consider NIS, for example. It can time out
when a server is down briefly, but a failed lookup of a user??™s login name need not cause a
permanent failure under such a circumstance. Instead, something should be returned to
show that it is only a temporary failure.
The -T database switchwas added withV8.10 sendmail to solve this problem. You use it to
define a suffix to add to the key for the returned failure value when the problem is temporary.
You might use it like this:
Kmailservers nis -T.Defer -o mailservers
...
R $* <@ $+ > $* $: $1<@$2>$3 <$(mailservers $2 $: Fail $)>
R $* <@ $+ > $* <$* . Defer> $# error $@ 4.2.2 $: "450 defer" ?†? handle failure here
R $* <@ $+ > $*
$# error $@ 5.7.1 $: "550 reject" ?†? handle failure here
R $* <@ $+ > $* <$+> $# smtp $@ $4 $: $1 < @ $2 > $3 ?†? OK, so send it
...
Note that a permanent failure returns the failure alternative indicated by the $: operator
(the Fail). But a temporary failure returns the suffix defined by the -T, appended to the
original key (the $2) to form $2.Defer.
Note that this definition of temporary failure is different from that defined by the -D database
switch. With -D, database lookups are not done at all if the DeliveryMode option
This is the Title of the Book, eMatter Edition
Copyright ?© 2007 O??™Reilly & Associates, Inc. All rights reserved.
23.
Pages:
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571