[net.bugs.uucp] sending mail via rmail with multiple arguments

gnu@hoptoad.uucp (John Gilmore) (09/26/86)

I made a similar change to the Sun sendmail, which I believe has survived
into the 4.3BSD sendmail.  (You need to turn it on in sendmail.cf, as
explained below.)  If multiple recipients of a message are at the same
host (or the next hop in the path is the same), your system will only
send one copy of the message, and run an "rmail user1 user2 user3..."
command via uux.  I asked around at the time, how likely this was to
break things, and the response was that the command line would likely
have a length limit around 512 bytes, but that was all.  

Since then I have heard it rumored that the "rmail" programs in V7 and
4.1BSD will not accept multiple arguments.  However, I have 38 mail
links and no mail is getting lost, so I must not be talking to any V7
or 4.1BSD sites.  (Utzoo doesn't count, that's only the ghost of
V7 yet-to-come.)

Here's how you turn on the feature in Sun or 4.3 /usr/lib/sendmail.cf.
It's a text file which you can edit to configure your mailer.
There is a short section that defines the uucp mailer.  It starts
with a line with "Muucp" at the left margin, e.g. like this:

Muucp,	P=/usr/bin/uux, F=sDFMhuU, S=13, R=23,
	A=uux - -r $h!rmail ($u)

This says that mail resolving to a "uucp" address should run program 
/usr/bin/uux with various flags, various arguments, and various rules for
munging the to and from addresses.

You have to add the "m" flag, which says "multiple recipients OK to
send out via this mailer", and specify the maximum argument length.  I
use 250 because it's a lot less than 512.  (By the way, the L= value
does NOT count the chars that are explicitly specified in the A=
parameter; it only counts the characters of the recipients' addresses.)
It looks like this:

Muucp,	P=/usr/bin/uux, F=sDFMhuUm, S=13, R=23, L=250,
	A=uux - -r $h!rmail ($u)

After editing in the change and writing the file back (you'll need to
be root to do this), run "sendmail -bz" which will "compile" the new
configuration into a binary file which is fast to run with.

This causes the eventual command used if you mail to sun!avb and sun!wnj
to be:

	  uux - -r sun!rmail avb wnj

This is especially useful if you send out a large mailing list, or are
a relay point for such a site.  Gateways to SMTP based networks would also
be helped by having this fix.
-- 
John Gilmore  {sun,ptsfa,lll-crg,ihnp4}!hoptoad!gnu   jgilmore@lll-crg.arpa
		     May the Source be with you!