> CL> [...] if I send mail to lista and listb and I'm on both lists, I will
> CL> only receive one copy of the mail.
> It will not. Well, it might if someone could come up with a way to do it
> reliably, but so far I myself haven't found a reasonable solution.
> The only solution that I can see, since resend is invoked two separate
> times with two separate messages, is to make an array of addresses in the
> To: and CC: headers, remove duplicates, note this list's position in the
> array, expand all lists to the left, and not deliver to any of those
> addresses. This is doable, but I doubt its reliability (since the To: and
> CC: headers don't necessarily have anything to do with where the message
> went) and it would be incredibly slow.
What about using a combination of the Message-Id: and username? A table
could be constructed of the last n messages to pass through the lists,
comprised of a username/Message-Id: pair. Before a message is sent
to a user, it checks to see if they already have an entry for that
Message-Id. If not, it adds the username/Message-Id: pair, and if
it does exist, that address is removed from the mailing.
Not sure if I'm making sense -- I'm at home with the flu. Anyhow, if
it sounds feasible I'm willing to take a stab at it.
> The true solution is, of course, to suppress duplicates at the client. Any
> good client should be able to do this already; it's a couple of lines in a
I know, I know. :) A lot of the people on our lists are offsite and
too important to be bothered with the setup of a .procmailrc, so it
has to be at the server end.