home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam    


sendmailSearch this book
Previous: 6.4 Add the Missing Parts to Mhub Chapter 6
The Mail Hub and Delivery Agents
Next: 7. Macros

6.5 Things to Try

  • Create a mail delivery agent definition that has no symbolic name or one that has what you suspect is an illegal name. What happens when you run sendmail with the -d0.15 command-line argument?

  • Define two different mail delivery agents that have the same symbolic name. Does sendmail catch the error, or does it replace the first with the second?

  • Make a typo in one of the equates. For example, instead of S=6 , enter s=6 . What happens?

  • The P= equate is used to state the full pathname of the program that delivers the mail message. Since the parts are separated from each other by commas, is it possible to include a comma in that pathname? If so, how? Use -d0.15 to test your proposals.

  • What happens if the program shown in the P= equate does not exist or if that program is not executable? Is this detected by sendmail when the sendmail.cf file is read?

  • The A= equate specifies the command-line arguments that are given to the P= program when it is run. Can you include commas in those command-line arguments?

  • When a line in the sendmail.cf file begins with a space or tab character, it is joined (appended) to the line above it. Try splitting delivery agents over multiple lines for readability using this mechanism. Test the result with the -d0.15 debugging switch (review Section 6.2.1, "Testing the client.cf File" ).

    Mhub,           # Delivery agent definition to forward mail to hub
        P=[IPC],    #  use SMTP over the network
        S=0,        #  no sender rewriting
        R=0,        #  no recipient rewriting
        F=m,        #  flag: deliver to more than one user at a time
        F=D,        #  flag: include Date: in the header
        F=F,        #  flag: include From: in the header
        F=M,        #  flag: include Message-ID: in the header
        F=u,        #  flag: preserve the case of the recipient name
        F=X,        #  flag: pass lone dots on a line by doubling
        F=a,        #  flag: run extended SMTP protocol
        A=IPC $h

  • Gather all of the lines in your system's current sendmail.cf file that define mail delivery agents. In each of the lines printed, you will see one field that declares the full path of a mail delivery program. For each of those P= fields, locate and read the online manual page for the program specified. Do the arguments in the A= field make sense to you?