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!