I'm interested in implementing duplicate supression via procmail,
and was inspired by the example in the procmailex man page.
However, something doesn't sit well with me about it.
:0 Wh: msgid.lock
| formail -D 8192 msgid.cache
Beware if you have delivery problems in recipes below this
one and procmail tries to requeue the mail, then on the next
queue run, this mail will be considered a duplicate and will
be thrown away. For those not quite so confident in their
own scripting capabilities, you can use the following recipe
instead. It puts duplicates in a separate folder instead of
throwing them away. It is up to you to periodically empty
the folder of course.
I don't want to put duplicates into a seperate folder, I'd rather
delete them. At the same time however, I'm worried that a mail
might be incorrectly deleted because of the delivery problem /
requeue situation described above.
Is there a way to safegaurd against this so I can throw away
dupes with confidence that only dupes are being deleted?
Also, how high can I safely set the "maxlen" argument to
formail -D to? 8192 seems too low to me, and we have plenty
of disk space here. Thanks in advance.