>
>On 7 Nov 1996, Jason L Tibbitts III wrote:
>
....
>> 3. Storing and checking state is expensive. Think of large lists with lots
>> of contributors. Now you have to a bunch of extra file operations for
>> every message. People already say that Majordomo has too much overhead.
>
>Possibly another reason to have a daemon which might be able to handle
>this.
>
It seems to me that this is trivial if one maintains a database of
Message-Id:s that have gone to the list and drops any duplicates (I
BOUNCE them to the list owner so that potential problems are flagged.
We do this with a simple dbm database for each mailing list that
resend checks for each message. Essentially the code is this:
dbmopen(HISTORY, "../lists/$opt_l.history", 0644);
if ($HISTORY{$message_id}) {
&bounce("duplicate message id >$message_id<");
}
else {
$HISTORY{$message_id} = 1;
}
dbmclose(HISTORY);
I inserted this in the 1.93 version of resend just after it sets
sendmail_cmd and before it sends the message (actually I have a couple
of routines Dbmopen and Dbmclose that check for perl-5 and use tie if
it's available otherwise it uses perl-4 compatible dbmopen/dbmclose).
Bill
--
INTERNET: bill@Celestial.COM Bill Campbell; Celestial Systems, Inc.
UUCP: camco!bill PO Box 820; 2835 82nd Avenue S.E. S-100
FAX: (206) 232-9186 Mercer Island, WA 98040-0820; (206) 236-1676
URL: http://www.celestial.com/
Government spending? I don't know what it's all about. I don't know
any more about this thing than an economist does, and, God knows, he
doesn't know much.
-- Will Rogers
Follow-Ups:
References:
|
|