Another role of sendmail is that of transporting mail to other machines. A message is transported when sendmail determines that the recipient is not local. The following lines from a typical configuration file define delivery agents for transporting mail to other machines:
Msmtp, P=[IPC], F=mDFMuX, S=11/31, R=21, E=\r\n, L=990, Muucp, P=/usr/bin/uux, F=DFMhuUd, S=12, R=22/42, M=10000000,
The actual lines in your file may differ. The name
smtp
in the above example may appear in your file as
ether
or
ddn
or something else. The name
uucp
may appear as
suucp
or
uucp-dom
. There may be more such lines than we've shown here. The important point for now is that some delivery agents deal with local delivery, while others deal with delivery over a network.
The sendmail program has the internal ability to transport mail over only one kind of network, one that uses TCP/IP; the following line instructs sendmail to do this:
Msmtp, P=[IPC], F=mDFMuX, S=11/31, R=21, E=\r\n, L=990,
The
[IPC]
may appear as
[TCP]
. The two are equivalent.
When sendmail transports mail on a TCP/IP network, it first sends the envelope-sender hostname to the other site. If the other site accepts the sender's hostname as legal, the local sendmail then sends the envelope-recipient list. The other site accepts or rejects each recipient one by one. If any recipients are accepted, the local sendmail sends the message (header and body together).
The line in the configuration file that tells sendmail how to transport over UUCP looks like this:
Muucp, P=/usr/bin/uux, F=DFMhuUd, S=12, R=22/42, M=10000000,
This line tells sendmail to send UUCP network mail by running the /bin/uux ( UNIX to UNIX eXecute ) program.
There are many other kinds of network protocols that sendmail can use to transport email. Some of them may have shown up when you ran grep earlier. Other common possibilities might look like one of these:
Mfax, P=/usr/local/lib/fax/mailfax, F=DFMhu, S=14, R=24, M=100000, Mmail11, P=/usr/etc/mail11, F=nsFx, S=15, R=25, A=mail11 $g $x $h $u Mmac, P=/usr/bin/macmail, F=CDFMmpsu, R=16, S=16, A=macmail -t $u
The
Mfax
line defines one of the many possible ways to send a FAX using
sendmail
. FAX transports images of documents over telephone lines. In the configuration line above, the
/usr/lib/fax/mailfax
program is run, and a mail message is fed to it for conversion to and transmission as a FAX image.
The
Mmail11
line defines a way of using the
mail11
(1) program to transport email over a DECnet network, used mostly by Digital Equipment Corporation (DEC) machines.
The
Mmac
line defines a way to transport mail to Macintosh machines that are connected together on an AppleTalk network.
In all of these examples, note that sendmail sends email over other networks by running programs that are tailored specifically for that use. Remember that the only network that sendmail can use directly is a TCP/IP-based network. [6]
[6] Actually, we're fudging for simplicity. V8 sendmail can also send messages over an ISO network.