How checkcompat( ) Works

When sendmail prepares to deliver mail, it first checks the size of the mail message and rejects (bounces) it if it is larger than the limit imposed by the M= delivery agent equate (M= on page 746). V8.8 and above sendmail then call the check_compat rule set (The check_compat Rule Set 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 <sysexits.h>, 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 each already aliased recipient.

Get sendmail, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.