Re: "uns*bscribe" not working on my lists

Bart Schaefer <[email protected]> Mon, 09 Oct 2006 21:07:28 -0700
Newsgroups gmane.mail.smartlist.user
Message-ID <[email protected]>
It's been quite a while since I groveled around in the innards of
multigram, but let me see if I can say something useful ...

Multigram works in just about exactly the opposite way you might
expect.  It uses a series of heuristics to pick things that look like
email addresses out of its standard input, then does a fuzzy match of
the resulting strings against the list of addresses in the dist file
(which is named as one of its arguments).  If there are several things
that look like email addresses clumped together on the same line of
stdin, it may ignore all but the first one on that line.

On 10/9/06, Jamie Zawinski <[email protected]> wrote:
> I can't tell what's different about
> the two lists that makes one work and one fail.

I suppose you've already confirmed the obvious, such as, they both
have auto_unsubscribe=y somewhere in the config, neither dist file has
CRLF line endings, the "broken" dist does have a LF on the end of the
last line, etc.

> So, my question *really* is, how do I debug this?

Start by removing the redirect to /dev/null at about line 50 in the
"unsubscribe" script, and assign something to LOGFILE in the calling
procmail so that stderr is captured.

> I imagine
> something is going wrong inside "multigram", but I can't even figure
> out how multigram should be invoked in order to reproduce what
> happens when mail comes in.  I only barely understand what multigram
> is supposed to do, and its source code in insanely opaque... Is there
> even a man page for this thing?

There should be a file named "Manual" that came with the SmartList
distribution.  Discussion of multigram is spattered throughout that
file, but mostly concentrated in section 6.  If you need a copy, let
me know and I'll send you one.