5.8 on page 746). V8.8 and above sendmail then call the check_compat
rule set (?§7.1.5 on page 259). After that, all versions of sendmail call the
checkcompat( ) routine.
The checkcompat( ) routine lies in a unique position within the sendmail code. It is
the one place where both the sender and the already aliased recipient addresses are
available at the same time. Because it is invoked immediately before actual delivery,
all the information needed for delivery is available to you for checking.
If checkcompat( ) returns EX_OK, as defined in
, the mail message is considered
OK and delivered. Otherwise, the message is bounced. If you wish the message
to be requeued instead of bounced, you can return EX_TEMPFAIL.
Again note that the checkcompat( ) routine is called once for eachalready aliased
recipient.
Arguments Passed to checkcompat( )
The checkcompat( ) is found in the C-language source file sendmail/conf.c. Inside that
file you will find it declared like this:
checkcompat(to, e)
register ADDRESS *to;
register ENVELOPE *e;
Here, to is a pointer to a structure of typedef ADDRESS which contains information
about the recipient. And e is a pointer to a structure of typedef ENVELOPE which
contains information about the current envelope. (Actually, both are linked lists of
structures.)
The members of the ADDRESS *to structure are shown in Table C-1.
Pages:
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243