# Mail 'Transport Agents'

This section contains information related to 'transport agents', which means the underlying software that connects your local system to remote systems.

### Smail v3.1

Smail3.1 seems to be a de-facto standard transport agent for uucp-only sites and for some smtp sites. It compiles without patching from the sources. In addition, smail is provided in binary form in the SLS distribution of Linux.

The newspak distribution contains config files for smail3.1.28 under Linux that you can use to start with.

If you're building smail from sources, you need to have CASE_NO_NEWLINES=true in your os/linux file so that 'sed' gives you shell scripts that work properly.

For a uucp-only system that has a MX-record and that wants a domainized header (who goes through a smart-host for everything), these are the entire config files you'll need:

- replace 'subdomain.domain' with your domain name
- replace 'myhostname' with you un-domainized hostname
- replace 'my_uucp_neighbor' with the uucp name of your upstream site

            #-------- /usr/local/lib/smail/config -----------------
            #
            # domains we belong to
            visible_domain=subdomain.domain:uucp
            #
            # who we're known as (fully-qualified-site-name)
            visible_name=myhostname.subdomain.domain
            #
            # who we go through
            smart_path=my_uucp_neighbor
            #
            #---------- /usr/local/lib/smail/paths --------------
            #
            # we're a domainized site, make sure we accept mail to both names
            myhostname        %s
            myhostname.subdomain.domain      %s
            #
            #-------------------------------------------------------------------

To run smail as a smtp daemon, add the following to /etc/inetd.conf: smtp stream tcp nowait root /usr/bin/smtpd smtpd

Outgoing mail gets sent automatically, when using elm. If your internet link is down when you send mail, then the mail sits in "/usr/spool/smail/input". When the link next comes up, "runq" is run which causes the mail to be sent.

### Sendmail+IDA

I run a uucp-only site and use sendmail5.65b+IDA1.5 instead of smail3.1.28 due to the incredible ease of use. There is a binary distribution on sunsite.unc.edu in pub/Linux/system/Mail

To install it...

- you'll probably want to remove (or rename) all the files from smail (see the /install/installed directory if you are SLS) to be safe.
- cd to / then "gunzip -c sendmail5.65b+IDA1.5.tpz | tar xvf -" If you have a "modern" tar from a recent Slackware (for example) you can probably just do a "tar -zxvf filename.tgz" and get the same results.
- cd to /usr/local/lib/mail/CF and copy the sample.m4 local.m4 file to "yourhostname.m4". Edit out the distributed hostname, aliases, and smarthost and put in the correct one for your site. The default file is for a uucp-only site who has domainized headers and who talks to a smart host. Then "make yourhostname.cf" and move the resulting file to /etc/sendmail.cf
- if you are uucp-only, you do *NOT* need to create any of the tables mentioned in the README.linux file. You'll just have to touch the files so that the Makefile works. Just edit the .m4 file, make sendmail.cf, and start testing it.
- if you're uucp-only and you talk to sites in addition to your "smart-host", you'll need to add uucpxtable entries for each (or mail to them will also go through the smart host) and run dbm against the revised uucpxtable.
- if you use my sendmail5.67b+IDA1.5 distribution you should not use a "freeze file".
- If you run Rich Braun's original binary distribution of 5.67a, you'll need to freeze the configuration if you change your .cf file with "/usr/lib/sendmail -bz" to make the changes take effect. You should also update your version to at least 5.67b since there is a nasty security hole in 5.67a and earlier.

Another nice thing is that if you have mail.debug set and you run syslogd, your incoming and outgoing mail messages will get logged. See the /etc/syslog.conf file for details.

The sources for sendmail+IDA may be found at uxc.cso.uiuc.edu. They require no patching to run under Linux.

If you're going to run sendmail+IDA, I strongly recommend you go to the sendmail5.67b+IDA1.5 version since all required Linux-specific patches are now in the vanilla sources and several security holes have been plugged that WERE (!!!) in the older version you may have grabbed or built before about December 1st, 1993.

### Sendmail 8.6

Sendmail 8.6.x from Berkeley is the latest major revision after sendmail5. It has wonderful built-in support for building under Linux. Just "make linux" and you'll be all set.

### Other "transport agents"

The following also are known to run under Linux. Consult "archie" for details regarding how to find them...

- smail2.5 - very simple UUCP-based smail

### Local Delivery Agents

Unlike most operating systems, Linux does not have mail "built-in". You'll need a program to deliver the local mail.

One good program is Rich Braun's "lmail" program, but I've switched to using the more commonly available "deliver" program.

Documentation for how to use either for local delivery is in the sendmail5.67b+IDA1.5 binary release (on sunsite) mentioned above.