[comp.mail.sendmail] Multiple recipients in smail/sendmail

matt@srs.UUCP (Matt Goheen) (04/09/88)

This rarely happens here, but one of our users recently sent out
a mail message with LOTS of recipients.  Unfortunately, this
generated multiple copies of the data file.  Being a (somewhat)
conscientious network user, I was wondering WHY?  I have the
'm' flag set in the "sendmail.cf" file (for "smail" -- our external
mailer).  Does this option only work if the users are on the same
host?  All the messages first get routed to our only mail link
(rochester).  75% of the remaining messages then go on to rutgers.
Is mail not smart enough to break up "To:" lists when mail paths
diverge?  Why not (not that I volunteer mind you)?  Since the above
mentioned user may be setting up a mailing list in the near future,
this seems like a good time to solve this potential problem -- or
ignore it if there is no fix for it, but at least I've done my best...

BTW, what, pray tell, does the 'm' flag REALLY do -- have multiple
addresses only for the local host?  Only for messages where the
path is identical (i.e. destination host is the same)?

-- 
- uucp:		{rutgers,ames}!rochester!srs!matt	Matt Goheen 	-
- maybe-net:	matt@srs.uucp				S.R. Systems	-
- 	"We built some good machines, but they don't work no more."	-

jeff@tc.fluke.COM (Jeff Stearns) (04/14/88)

In article <778@srs.UUCP> matt@srs.uucp (Matt Goheen) writes:
>This rarely happens here, but one of our users recently sent out
>a mail message with LOTS of recipients.  Unfortunately, this
>generated multiple copies of the data file.  ....

Matt, recall that sendmail passes each recipient address through ruleset 0
to find a {mailer, host, user} tuple.

Tuples are sorted by mailer and host.  You say that you're using smail, so
it's likely that all your tuples resolve to mailer==smail.  But be sure
that all hosts resolve to the SAME CONSTANT STRING.

You might expect that an address of the form "matt@srs.uucp" should resolve
to {mailer=smail, host=srs.uucp, user=matt}, but this is wrong.  
Instead, ruleset 0 should resolve this address to
    {mailer=smail, host=SomeIgnoredConstantString, user=matt@srs.uucp}

Now sendmail's sort phase will respect the "sumtiple recipient" flag you
mention.

Aside:
    Sendmail has changed for the worse in recent revisions; more than ever it
    insists upon passing TRANSPORT addresses through rulesets for HEADER
    addresses.  This point is a bit subtle and counterintuitive.  A close
    inspection of 4.3BSD sendmail' internal ruleset invocation will show
    that for most configuration files the user part should contain the
    complete domain address (not just the local-part).  Thus the solution
    I propose to Matt isn't merely an optimization.
-- 
		 Jeff Stearns
	 Domain: jeff@tc.fluke.COM
	  Voice: +1 206 356 5064
    If you must: {uw-beaver,microsoft,sun}!fluke!jeff
	   USPS: John Fluke Mfg. Co. / P.O. Box C9090 / Everett WA  98206