[Spambayes] Bugreport / Problems with initial setup
Matt Stegman
matts at ksu.edu
Sat Sep 27 00:16:05 EDT 2003
Hello,
I'm a new spambayes user. I tried the Outlook plugin first, since it
was easier to install, but after about a week I've decided that I hate
Outlook and am moving back to UNIX to read my mail. SpamBayes works
great; it's just that I hate the way Outlook works.
So I download 1.0a6, and I ran into some problems while setting up the
IMAP filter. The first time I run it to configure (sb_imapfilter.py
-b), after I enter info on the configuration page, save, and then try to
configure folders to filter, I get this on the
"Select Filter Folders" page:
500 Server error
Traceback (most recent call last):
File "/usr/lib/python2.2/site-packages/spambayes/Dibbler.py", line 453, in found_terminator
getattr(plugin, name)(**params)
File "/usr/lib/python2.2/site-packages/spambayes/ImapUI.py", line 165, in onFilterfolders
self._login_to_imap()
File "/usr/lib/python2.2/site-packages/spambayes/ImapUI.py", line 195, in _login_to_imap
imap = IMAPSession(server, port)
NameError: global name 'IMAPSession' is not defined
If I save and shutdown, then run it again, I can go to select filter
folders without a problem. This only occurs if I try to go do this
after entering the configuration information for the first time, and
haven't shutdown and restarted yet.
Once I've setup the filter folders and training folders, I go to train
SpamBayes. I run 'sb_imapfilter.py -c -t', and it goes for a while, then
dies:
Traceback (most recent call last):
File "/usr/bin/sb_imapfilter.py", line 825, in ?
run()
File "/usr/bin/sb_imapfilter.py", line 811, in run
imap_filter.Train()
File "/usr/bin/sb_imapfilter.py", line 647, in Train
num_spam_trained = folder.Train(self.classifier, True)
File "/usr/bin/sb_imapfilter.py", line 559, in Train
for msg in self:
File "/usr/bin/sb_imapfilter.py", line 486, in __iter__
yield self[key]
File "/usr/bin/sb_imapfilter.py", line 534, in __getitem__
msg.get_substance()
File "/usr/bin/sb_imapfilter.py", line 363, in get_substance
new_msg = email.Parser.Parser().parsestr(data["RFC822"])
File "/usr/lib/python2.2/email/Parser.py", line 75, in parsestr
return self.parse(StringIO(text), headersonly=headersonly)
File "/usr/lib/python2.2/email/Parser.py", line 64, in parse
self._parsebody(root, fp, firstbodyline)
File "/usr/lib/python2.2/email/Parser.py", line 245, in _parsebody
raise Errors.BoundaryError(
email.Errors.BoundaryError: multipart message with no defined boundary
If I run it with -v, I can see at what point it died, and I found the
message it died on. It's spam (of course). I think it's dying on this
header:
Content-Type: multipart/mixed;
My mail client gives no trouble with this message, nor did the Outlook
plugin complain when I trained it on this same corpus. If I delete this
message and retrain, it goes OK.
One additional thing is that after it died, I had two copies of all my
messages. One with a header "X-Spambayes-MailID" header, and one
without, which was marked deleted. I guess this is how SpamBayes checks
if it's trained on that message already? Why not use the Message-ID
header if it exists?
--
-Matt Stegman
More information about the Spambayes
mailing list