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 |