Re: new python error in sbfilter.py

Skip Montanaro <[email protected]> Fri, 10 Mar 2017 17:02:16 -0600
Newsgroups gmane.mail.spam.spambayes.general
Message-ID <CANc-5Uz50AGgTVKAEoRjNX6Hhas1eMYnBjBNxE5Xpx-11eYd8Q@mail.gmail.com>
--===============4905042318925572644==
Content-Type: multipart/alternative; boundary=001a114fd5b25e2799054a685adc

--001a114fd5b25e2799054a685adc
Content-Type: text/plain; charset=UTF-8

I would avoid training on every message in your procmailrc file, and only
use the mitt macros to train on misses and unsures. I would only use a
procmail recipe to score incoming messages.

Skip

On Mar 9, 2017 9:35 PM, "Fred Smith" <[email protected]> wrote:

> On Thu, Mar 09, 2017 at 01:57:27PM -0500, Fred Smith wrote:
> later....
> see below
> > On Thu, Mar 09, 2017 at 07:23:38AM -0600, Skip Montanaro wrote:
> > >    Fred,
> > >    It looks like your training database is corrupt. At the very end of
> the
> > >    long traceback, the message indicates that the count of messages
> (ham
> > >    or spam) in which a particular word appears is greater than the
> number
> > >    of messages in that particular category. I think you should be able
> to
> > >    just retrain from scratch on your existing database.
> > >    Skip
> >
> > Sigh.
> >
> > That worked. for a little while. then it started doing it again.
> >
> > I've recently started using these macros in mutt:
> >
> >       macro index S "|sb_filter.py -s -f | procmail\&\nd"
> >       macro pager S "|sb_filter.py -s -f | procmail\&\nd"
> >       macro index H "|sb_filter.py -g -f | procmail\&\nd"
> >       macro pager H "|sb_filter.py -g -f | procmail\&\nd"
> >
> > and in procmail there are these rules:
> >
> >       :0 fw:hamlock
> >       | /usr/bin/sb_filter.py -f -d $HOME/.hammiedb
>
> Ah HA! BINGO!
> that's the problem right there... the macros (above) train on the mail
> then hand it to procmail. Procmail trains it AGAIN, thereby doubling up
> every mail that gets trained that way in the database.
>
> Those macros are a really HANDY way to fix an incorrect training
> while putting it in the right folder. Is there a way anyone can think
> of that avoids the double training?
>
> thanks in advance!
>
> >       # then filter out spam and unsure stuff....
> >       :0
> >       * ^X-Spambayes-Classification: spam
> >       $HOME/Mail/trained.spam
> >
> >       :0
> >       * ^X-Spambayes-Classification: unsure
> >       $HOME/Mail/unsure
> >
> > I don't see why those macros would cause such a problem, but it
> > has started only since I started using them (of course, I also blew
> > away the ancient hammie db and started over with a small corpus of
> > known ham and spam, at the same time).
> >
> > Prior to that I would just save mis-filed mails in either trained.spam
> > or trained.ham and trust that the nightly retraining would do the right
> > thing.
> >
> > any further ideas?
> >
> > thanks in advance!
> >
> > Fred
> >
> > >
> > >    On Mar 8, 2017 7:11 PM, "Fred Smith" <[1][email protected].
> ma.us>
> > >    wrote:
> > >
> > >      Hi
> > >      All of a sudden this past week I'm getting this whenever a message
> > >      is
> > >      sent to sb_filter to be retrained:
> > >      File "/usr/bin/sb_filter.py", line 5, in <module>
> > >          pkg_resources.run_script('spambayes==1.1a6', 'sb_filter.py')
> > >        File "/usr/lib/python2.7/site-packages/pkg_resources.py", line
> > >      540, in run_script
> > >          self.require(requires)[0].run_script(script_name, ns)
> > >        File "/usr/lib/python2.7/site-packages/pkg_resources.py", line
> > >      1455, in run_script
> > >          execfile(script_filename, namespace, namespace)
> > >        File "/usr/lib/python2.7/site-packages/spambayes-1.1a6-py2.
> > >      7.egg/EGG-INFO/scripts/sb_filter.py", line 277, in <module>
> > >          main()
> > >        File "/usr/lib/python2.7/site-packages/spambayes-1.1a6-py2.
> > >      7.egg/EGG-INFO/scripts/sb_filter.py", line 268, in main
> > >          action(msg)
> > >        File "/usr/lib/python2.7/site-packages/spambayes-1.1a6-py2.
> > >      7.egg/EGG-INFO/scripts/sb_filter.py", line 186, in filter
> > >          return self.h.filter(msg)
> > >        File "/usr/lib/python2.7/site-packages/spambayes-1.1a6-py2.
> > >      7.egg/spambayes/hammie.py", line 149, in filter
> > >          debug, train)
> > >        File "/usr/lib/python2.7/site-packages/spambayes-1.1a6-py2.
> > >      7.egg/spambayes/hammie.py", line 104, in score_and_filter
> > >          prob, clues = self._scoremsg(msg, True)
> > >        File "/usr/lib/python2.7/site-packages/spambayes-1.1a6-py2.
> > >      7.egg/spambayes/hammie.py", line 33, in _scoremsg
> > >          return self.bayes.spamprob(tokenize(msg), evidence)
> > >        File "/usr/lib/python2.7/site-packages/spambayes-1.1a6-py2.
> > >      7.egg/spambayes/classifier.py", line 169, in chi2_spamprob
> > >          clues = self._getclues(wordstream)
> > >        File "/usr/lib/python2.7/site-packages/spambayes-1.1a6-py2.
> > >      7.egg/spambayes/classifier.py", line 472, in _getclues
> > >          tup = self._worddistanceget(word)
> > >        File "/usr/lib/python2.7/site-packages/spambayes-1.1a6-py2.
> > >      7.egg/spambayes/classifier.py", line 487, in _worddistanceget
> > >          prob = self.probability(record)
> > >        File "/usr/lib/python2.7/site-packages/spambayes-1.1a6-py2.
> > >      7.egg/spambayes/classifier.py", line 287, in probability
> > >          assert hamcount <= nham, "Token seen in more ham than ham
> > >      trained."
> > >      AssertionError: Token seen in more ham than ham trained.
> > >      It is possible I got a python update, but I wasn't paying
> attention,
> > >      so
> > >      I'm not at all sure.
> > >      I'm NOT a python guru, so I'd appreciate any guidance any of you
> can
> > >      provide.
> > >      thanks in advance!
> > >      Fred
> > >      --
> > >      ---- Fred Smith -- [2][email protected]
> > >      -----------------------------
> > >                          The Lord detests the way of the wicked
> > >                        but he loves those who pursue righteousness.
> > >      ----------------------------- Proverbs 15:9 (niv)
> > >      -----------------------------
> > >      _______________________________________________
> > >      [3][email protected]
> > >      [4]https://mail.python.org/mailman/listinfo/spambayes
> > >      Info/Unsubscribe: [5]http://mail.python.org/
> > >      mailman/listinfo/spambayes
> > >      Check the FAQ before asking: [6]http://spambayes.sf.net/faq.html
> > >
> > > References
> > >
> > >    1. mailto:[email protected]
> > >    2. mailto:[email protected]
> > >    3. mailto:[email protected]
> > >    4. https://mail.python.org/mailman/listinfo/
> spambayesInfo/Unsubscribe
> > >    5. http://mail.python.org/mailman/listinfo/spambayes
> > >    6. http://spambayes.sf.net/faq.html
> >
> > --
> > ---- Fred Smith -- [email protected]
> -----------------------------
> >                         The Lord is like a strong tower.
> >              Those who do what is right can run to him for safety.
> > --------------------------- Proverbs 18:10 (niv)
> -----------------------------
>
> --
> ------------------------------------------------------------
> -------------------
>  .----    Fred Smith   /
> ( /__  ,__.   __   __ /  __   : /
>  /    /  /   /__) /  /  /__) .+'           Home:
> [email protected]
> /    /  (__ (___ (__(_ (___ / :__
> 781-438-5471
> -------------------------------- Jude 1:24,25
> ---------------------------------
> _______________________________________________
> [email protected]
> https://mail.python.org/mailman/listinfo/spambayes
> Info/Unsubscribe: http://mail.python.org/mailman/listinfo/spambayes
> Check the FAQ before asking: http://spambayes.sf.net/faq.html
>

--001a114fd5b25e2799054a685adc
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">I would avoid training on every message in your procmailr=
c file, and only use the mitt macros to train on misses and unsures. I woul=
d only use a procmail recipe to score incoming messages.=C2=A0<div dir=3D"a=
uto"><br></div><div dir=3D"auto">Skip</div></div><div class=3D"gmail_extra"=
><br><div class=3D"gmail_quote">On Mar 9, 2017 9:35 PM, &quot;Fred Smith&qu=
ot; &lt;<a href=3D"mailto:[email protected]">[email protected]=
neham.ma.us</a>&gt; wrote:<br type=3D"attribution"><blockquote class=3D"gma=
il_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-lef=
t:1ex">On Thu, Mar 09, 2017 at 01:57:27PM -0500, Fred Smith wrote:<br>
later....<br>
see below<br>
&gt; On Thu, Mar 09, 2017 at 07:23:38AM -0600, Skip Montanaro wrote:<br>
&gt; &gt;=C2=A0 =C2=A0 Fred,<br>
&gt; &gt;=C2=A0 =C2=A0 It looks like your training database is corrupt. At =
the very end of the<br>
&gt; &gt;=C2=A0 =C2=A0 long traceback, the message indicates that the count=
 of messages (ham<br>
&gt; &gt;=C2=A0 =C2=A0 or spam) in which a particular word appears is great=
er than the number<br>
&gt; &gt;=C2=A0 =C2=A0 of messages in that particular category. I think you=
 should be able to<br>
&gt; &gt;=C2=A0 =C2=A0 just retrain from scratch on your existing database.=
<br>
&gt; &gt;=C2=A0 =C2=A0 Skip<br>
&gt;<br>
&gt; Sigh.<br>
&gt;<br>
&gt; That worked. for a little while. then it started doing it again.<br>
&gt;<br>
&gt; I&#39;ve recently started using these macros in mutt:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0macro index S &quot;|sb_filter.py -s -f | pr=
ocmail\&amp;\nd&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0macro pager S &quot;|sb_filter.py -s -f | pr=
ocmail\&amp;\nd&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0macro index H &quot;|sb_filter.py -g -f | pr=
ocmail\&amp;\nd&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0macro pager H &quot;|sb_filter.py -g -f | pr=
ocmail\&amp;\nd&quot;<br>
&gt;<br>
&gt; and in procmail there are these rules:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0:0 fw:hamlock<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0| /usr/bin/sb_filter.py -f -d $HOME/.hammied=
b<br>
<br>
Ah HA! BINGO!<br>
that&#39;s the problem right there... the macros (above) train on the mail<=
br>
then hand it to procmail. Procmail trains it AGAIN, thereby doubling up<br>
every mail that gets trained that way in the database.<br>
<br>
Those macros are a really HANDY way to fix an incorrect training<br>
while putting it in the right folder. Is there a way anyone can think<br>
of that avoids the double training?<br>
<br>
thanks in advance!<br>
<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0# then filter out spam and unsure stuff....<=
br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0:0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0* ^X-Spambayes-Classification: spam<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0$HOME/Mail/trained.spam<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0:0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0* ^X-Spambayes-Classification: unsure<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0$HOME/Mail/unsure<br>
&gt;<br>
&gt; I don&#39;t see why those macros would cause such a problem, but it<br=
>
&gt; has started only since I started using them (of course, I also blew<br=
>
&gt; away the ancient hammie db and started over with a small corpus of<br>
&gt; known ham and spam, at the same time).<br>
&gt;<br>
&gt; Prior to that I would just save mis-filed mails in either trained.spam=
<br>
&gt; or trained.ham and trust that the nightly retraining would do the righ=
t<br>
&gt; thing.<br>
&gt;<br>
&gt; any further ideas?<br>
&gt;<br>
&gt; thanks in advance!<br>
&gt;<br>
&gt; Fred<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt;=C2=A0 =C2=A0 On Mar 8, 2017 7:11 PM, &quot;Fred Smith&quot; &lt;[=
1]<a href=3D"mailto:[email protected]">[email protected].=
<wbr>ma.us</a>&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 wrote:<br>
&gt; &gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 Hi<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 All of a sudden this past week I&#39;m gettin=
g this whenever a message<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 is<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 sent to sb_filter to be retrained:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 File &quot;/usr/bin/sb_filter.py&quot;, line =
5, in &lt;module&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 pkg_resources.run_script(&#39;<=
wbr>spambayes=3D=3D1.1a6&#39;, &#39;sb_filter.py&#39;)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/pkg_resources.py&quot;, line<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 540, in run_script<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 self.require(requires)[0].run_<=
wbr>script(script_name, ns)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/pkg_resources.py&quot;, line<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 1455, in run_script<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 execfile(script_filename, names=
pace, namespace)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/spambayes-1.1a6-py2.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 7.egg/EGG-INFO/scripts/sb_<wbr>filter.py&quot=
;, line 277, in &lt;module&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 main()<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/spambayes-1.1a6-py2.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 7.egg/EGG-INFO/scripts/sb_<wbr>filter.py&quot=
;, line 268, in main<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 action(msg)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/spambayes-1.1a6-py2.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 7.egg/EGG-INFO/scripts/sb_<wbr>filter.py&quot=
;, line 186, in filter<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return self.h.filter(msg)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/spambayes-1.1a6-py2.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 7.egg/spambayes/hammie.py&quot;, line 149, in=
 filter<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 debug, train)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/spambayes-1.1a6-py2.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 7.egg/spambayes/hammie.py&quot;, line 104, in=
 score_and_filter<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 prob, clues =3D self._scoremsg(=
msg, True)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/spambayes-1.1a6-py2.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 7.egg/spambayes/hammie.py&quot;, line 33, in =
_scoremsg<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return self.bayes.spamprob(toke=
nize(<wbr>msg), evidence)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/spambayes-1.1a6-py2.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 7.egg/spambayes/classifier.py&quot;<wbr>, lin=
e 169, in chi2_spamprob<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 clues =3D self._getclues(wordst=
ream)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/spambayes-1.1a6-py2.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 7.egg/spambayes/classifier.py&quot;<wbr>, lin=
e 472, in _getclues<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 tup =3D self._worddistanceget(w=
ord)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/spambayes-1.1a6-py2.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 7.egg/spambayes/classifier.py&quot;<wbr>, lin=
e 487, in _worddistanceget<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 prob =3D self.probability(recor=
d)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 File &quot;/usr/lib/python2.7/site-<wb=
r>packages/spambayes-1.1a6-py2.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 7.egg/spambayes/classifier.py&quot;<wbr>, lin=
e 287, in probability<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 assert hamcount &lt;=3D nham, &=
quot;Token seen in more ham than ham<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 trained.&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 AssertionError: Token seen in more ham than h=
am trained.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 It is possible I got a python update, but I w=
asn&#39;t paying attention,<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 so<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 I&#39;m not at all sure.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 I&#39;m NOT a python guru, so I&#39;d appreci=
ate any guidance any of you can<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 provide.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 thanks in advance!<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 Fred<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 --<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 ---- Fred Smith -- [2]<a href=3D"mailto:frede=
[email protected]">[email protected].<wbr>us</a><br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 -----------------------------<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 The Lord detests the way of the wicked<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 but he loves those who pursue righteousness.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 ----------------------------- Proverbs 15:9 (=
niv)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 -----------------------------<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 ______________________________<wbr>__________=
_______<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 [3]<a href=3D"mailto:[email protected]">Sp=
[email protected]</a><br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 [4]<a href=3D"https://mail.python.org/mailman=
/listinfo/spambayes" rel=3D"noreferrer" target=3D"_blank">https://mail.pyth=
on.org/<wbr>mailman/listinfo/spambayes</a><br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 Info/Unsubscribe: [5]<a href=3D"http://mail.p=
ython.org/" rel=3D"noreferrer" target=3D"_blank">http://mail.python.org/</a=
><br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 mailman/listinfo/spambayes<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 Check the FAQ before asking: [6]<a href=3D"ht=
tp://spambayes.sf.net/faq.html" rel=3D"noreferrer" target=3D"_blank">http:/=
/spambayes.sf.net/<wbr>faq.html</a><br>
&gt; &gt;<br>
&gt; &gt; References<br>
&gt; &gt;<br>
&gt; &gt;=C2=A0 =C2=A0 1. mailto:<a href=3D"mailto:[email protected].=
ma.us">fredex@fcshome.<wbr>stoneham.ma.us</a><br>
&gt; &gt;=C2=A0 =C2=A0 2. mailto:<a href=3D"mailto:[email protected].=
ma.us">fredex@fcshome.<wbr>stoneham.ma.us</a><br>
&gt; &gt;=C2=A0 =C2=A0 3. mailto:<a href=3D"mailto:[email protected]">Sp=
[email protected]</a><br>
&gt; &gt;=C2=A0 =C2=A0 4. <a href=3D"https://mail.python.org/mailman/listin=
fo/spambayesInfo/Unsubscribe" rel=3D"noreferrer" target=3D"_blank">https://=
mail.python.org/<wbr>mailman/listinfo/<wbr>spambayesInfo/Unsubscribe</a><br=
>
&gt; &gt;=C2=A0 =C2=A0 5. <a href=3D"http://mail.python.org/mailman/listinf=
o/spambayes" rel=3D"noreferrer" target=3D"_blank">http://mail.python.org/<w=
br>mailman/listinfo/spambayes</a><br>
&gt; &gt;=C2=A0 =C2=A0 6. <a href=3D"http://spambayes.sf.net/faq.html" rel=
=3D"noreferrer" target=3D"_blank">http://spambayes.sf.net/faq.<wbr>html</a>=
<br>
&gt;<br>
&gt; --<br>
&gt; ---- Fred Smith -- <a href=3D"mailto:[email protected]">fr=
[email protected]</a> -----------------------------<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0The Lord is like a strong tower.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Those who do what is r=
ight can run to him for safety.<br>
&gt; --------------------------- Proverbs 18:10 (niv) ---------------------=
--------<br>
<br>
--<br>
------------------------------<wbr>------------------------------<wbr>-----=
--------------<br>
=C2=A0.----=C2=A0 =C2=A0 Fred Smith=C2=A0 =C2=A0/<br>
( /__=C2=A0 ,__.=C2=A0 =C2=A0__=C2=A0 =C2=A0__ /=C2=A0 __=C2=A0 =C2=A0: /<b=
r>
=C2=A0/=C2=A0 =C2=A0 /=C2=A0 /=C2=A0 =C2=A0/__) /=C2=A0 /=C2=A0 /__) .+&#39=
;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Home: <a href=3D"mailto:fredex@fc=
shome.stoneham.ma.us">[email protected]</a><br>
/=C2=A0 =C2=A0 /=C2=A0 (__ (___ (__(_ (___ / :__=C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0<a href=3D"tel:781-438-5471" value=3D"+17814385471">781-43=
8-5471</a><br>
------------------------------<wbr>-- Jude 1:24,25 ------------------------=
------<wbr>---<br>
______________________________<wbr>_________________<br>
<a href=3D"mailto:[email protected]">[email protected]</a><br>
<a href=3D"https://mail.python.org/mailman/listinfo/spambayes
Info/Unsubscribe" rel=3D"noreferrer" target=3D"_blank">https://mail.python.=
org/<wbr>mailman/listinfo/spambayes<br>
Info/Unsubscribe</a>: <a href=3D"http://mail.python.org/mailman/listinfo/sp=
ambayes" rel=3D"noreferrer" target=3D"_blank">http://mail.python.org/<wbr>m=
ailman/listinfo/spambayes</a><br>
Check the FAQ before asking: <a href=3D"http://spambayes.sf.net/faq.html" r=
el=3D"noreferrer" target=3D"_blank">http://spambayes.sf.net/faq.<wbr>html</=
a><br>
</blockquote></div></div>

--001a114fd5b25e2799054a685adc--

--===============4905042318925572644==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
[email protected]
https://mail.python.org/mailman/listinfo/spambayes
Info/Unsubscribe: http://mail.python.org/mailman/listinfo/spambayes
Check the FAQ before asking: http://spambayes.sf.net/faq.html
--===============4905042318925572644==--