Previous Section Next Section

-d28.1

Trace user database transactions Debug command-line switch

The sendmail program can be compiled to use the user database (userdb) by defining USERDB in the Makefile (USERDB). If an address is selected by the parse rule set 0 for delivery by a delivery agent with the F=l flag set, and if it remains unaliased even if the F=A flag is set and if the F=5 (F=5) delivery agent flag is set, it is looked up in the user database. The -d28.1 (a.k.a. -d28) debugging switch is used to watch the interaction between sendmail and the user database:

udbexpand(addr)

Here, addr is the address being looked up.

The sender is looked up in a similar fashion. The intent in this case is to correct information such as the return address:

udbmatch(login, what) 

Here, login is the login name of the sender and what is the mailname for sender lookups. If the lookup is via hesiod, sendmail will print the same information, like this:

hes_udb_get(login, what) 

If the sender is found in the database, sendmail prints:

udbmatch =  => login@defaulthost 

Here, login can be a new login name. The defaulthost is either the sitewide host for all reply mail as defined in the user database, or the default destination host for a particular user.

In the event that a db(3)-style user database fails to open, the -d28.1 debugging switch displays the following error message:

dbopen(database): reason for failure here
    Previous Section Next Section