Re: Reclassify --error "OK" with "properly" classified mail?
"L. Jankok" <[email protected]> Sat, 19 Nov 2016 06:12:50 +0100
| Newsgroups | gmane.mail.spam.dspam.user |
|---|---|
| Message-ID | <[email protected]> |
> This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --===============1593008879008400530== Content-type: multipart/alternative; boundary="B_3562380778_857946185" > This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --B_3562380778_857946185 Content-type: text/plain; charset="UTF-8" Content-transfer-encoding: quoted-printable Hi Jeff, =20 It is indeed a design issue. =20 Would the following also serves your purpose? =20 smtpd_recipient_restrictions =3D =E2=80=A6. check_recipient_access lmdb:/etc/postfix/tables/domain_filter =E2=80=A6. =20 Next you could combine the two approaches; =C2=B7 Have your aggregation done on your external facing mail server =C2=B7 Have your internal mail server decides on the basis of domain or= specific addresses where to send the mail o For domains to be processed by dspam it sends to a certain port o For specific addressed for inoculation it sends to another port =20 Using this combined solution, you will have reached more flexibility in you= r setup. =20 Regards, =20 LJ=20 =20 =20 On 19/11/2016, 00:48, "Jeff Kletsky" <[email protected]> wrote: =20 For anyone reading this that knows, I'm still curious about the effect of m= ultiple "--source=3Derror" invocations of dspam for the same message/signature= . Thanks LJ! The reasoning behind the "fix-up" approach is that I process the mail with = dspam _before_ local address rewriting is done,=20 so that each (virtual) user gets its own set of tokens in dspam. I was hopi= ng that I'd only have to maintain the virtual alias table for the known-spam= users and not have to replicate that elsewhere, such as an access(5) or tra= nsport(5) table. You've got me thinking though, as I do use another SMTP instance as a publi= c-facing relay. Since it doesn't maintain its own aliases for the served dom= ains, I should be able to do something like setting up a virtual alias for t= he multiple known-spam addresses to a single "[email protected]= n" address and then a simple transport(5) to redirect just the "known-spam@k= nown-spam.my.domain" address to another instance of smtpd running on a diffe= rent port the same server as dspam. That smptd would "simply" have it delive= red to dspam for innoculation. Thanks for getting me thinking in another direction! Jeff =20 =20 =20 On 11/18/16 1:59 PM, L. Jankok wrote: Hi, =20 It really boils down how you have implemented dspam with postfix. You can create two transports, one for learning and one for inoculation. Next all mails to heavily spammed e-mail address goes directly to inoculate= . Why should you first go to learn and then go to inoculate if your assumptio= n is that the mail is spam anyways? =20 Regards, =20 LJ =20 On 18/11/2016, 22:14, "Jeff Kletsky" <[email protected]> wrote: =20 Over the years I've ended up with some email addresses that are heavily spa= mmed and no longer in use. I'd like to take advantage of them as a honeypot for inoculation, with the = knowledge that they only receive spam. I run Postfix and use dspam as a post-queue filter, as described at http://= www.postfix.org/FILTER_README.html#advanced_filter As a result, all mail gets classified before I know the final recipient, as= local aliases haven't been evaluated yet. I'd like to "deliver" mail for these destinations by routing all of it thro= ugh something like | dspam --client --user <user> --source=3Derror --class=3Dspam without having to first determine if it was improperly classified as non-sp= am. Reading DSPAM(1) reveals You should use error only when DSPAM has made an error in clas- sifying the message, and should present the modified version of the message with the DSPAM signature when doing so. Does this mean that if the message was originally classified as spam that t= he token and message counts are "blindly" incremented each time it is called,=20 or does dspam check to see the classification of the message ID before incr= ementing the counts? As easy as it would be to grep for 'X-DSPAM-Result: Innocent', it starts ge= tting messy=20 since I also either need the full message or the signature (another grep pa= ss) to pass to dspam. =20 If I can't just feed the message into the reclassify dspam call, are there = any "elegant" approaches to this? =20 Thanks! =20 Jeff =20 ---------------------------------------------------------------------------= --- _______________________________________________ Dspam-user mailing list = [email protected] https://lists.sourceforge.net/lists/listinf= o/dspam-user=20 ---------------------------------------------------------------------------= --- _______________________________________________ Dspam-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspam-user ---------------------------------------------------------------------------= --- _______________________________________________ Dspam-user mailing list = [email protected] https://lists.sourceforge.net/lists/listinf= o/dspam-user=20 --B_3562380778_857946185 Content-type: text/html; charset="UTF-8" Content-transfer-encoding: quoted-printable <html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:schema= s-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/office/20= 04/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta name=3DTitle c= ontent=3D""><meta name=3DKeywords content=3D""><meta http-equiv=3DContent-Type conte= nt=3D"text/html; charset=3Dutf-8"><meta name=3DGenerator content=3D"Microsoft Word 1= 5 (filtered medium)"><style><!-- /* Font Definitions */ @font-face {font-family:Arial; panose-1:2 11 6 4 2 2 2 2 2 4;} @font-face {font-family:"Courier New"; panose-1:2 7 3 9 2 2 5 2 4 4;} @font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0;} @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman";} p.MsoIndex1, li.MsoIndex1, div.MsoIndex1 {mso-style-priority:99; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:12.0pt; margin-bottom:.0001pt; text-indent:-12.0pt; font-size:12.0pt; font-family:"Times New Roman";} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:purple; text-decoration:underline;} p {mso-style-priority:99; mso-margin-top-alt:auto; margin-right:0cm; mso-margin-bottom-alt:auto; margin-left:0cm; font-size:12.0pt; font-family:"Times New Roman";} pre {mso-style-priority:99; mso-style-link:"HTML Preformatted Char"; margin:0cm; margin-bottom:.0001pt; font-size:10.0pt; font-family:"Courier New";} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph {mso-style-priority:34; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:36.0pt; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman";} p.Table-list, li.Table-list, div.Table-list {mso-style-name:"Table - list"; mso-style-priority:99; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:10.0pt; margin-bottom:.0001pt; text-indent:-10.0pt; font-size:10.0pt; font-family:Arial;} span.EmailStyle20 {mso-style-type:personal; font-family:Calibri; color:windowtext;} span.HTMLPreformattedChar {mso-style-name:"HTML Preformatted Char"; mso-style-priority:99; mso-style-link:"HTML Preformatted"; font-family:Courier;} span.EmailStyle23 {mso-style-type:personal-reply; font-family:Calibri; color:windowtext;} span.msoIns {mso-style-type:export-only; mso-style-name:""; text-decoration:underline; color:teal;} .MsoChpDefault {mso-style-type:export-only; font-size:10.0pt;} @page WordSection1 {size:595.0pt 842.0pt; margin:72.0pt 72.0pt 72.0pt 72.0pt;} div.WordSection1 {page:WordSection1;} /* List Definitions */ @list l0 {mso-list-id:2040274900; mso-list-type:hybrid; mso-list-template-ids:1775673164 134807553 134807555 134807557 134807553 1= 34807555 134807557 134807553 134807555 134807557;} @list l0:level1 {mso-level-number-format:bullet; mso-level-text:=EF=82=B7; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l0:level2 {mso-level-number-format:bullet; mso-level-text:o; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-18.0pt; font-family:"Courier New";} @list l0:level3 {mso-level-number-format:bullet; mso-level-text:=EF=82=A7; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-18.0pt; font-family:Wingdings;} @list l0:level4 {mso-level-number-format:bullet; mso-level-text:=EF=82=B7; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l0:level5 {mso-level-number-format:bullet; mso-level-text:o; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-18.0pt; font-family:"Courier New";} @list l0:level6 {mso-level-number-format:bullet; mso-level-text:=EF=82=A7; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-18.0pt; font-family:Wingdings;} @list l0:level7 {mso-level-number-format:bullet; mso-level-text:=EF=82=B7; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-18.0pt; font-family:Symbol;} @list l0:level8 {mso-level-number-format:bullet; mso-level-text:o; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-18.0pt; font-family:"Courier New";} @list l0:level9 {mso-level-number-format:bullet; mso-level-text:=EF=82=A7; mso-level-tab-stop:none; mso-level-number-position:left; text-indent:-18.0pt; font-family:Wingdings;} ol {margin-bottom:0cm;} ul {margin-bottom:0cm;} --></style></head><body bgcolor=3Dwhite lang=3DEN-GB link=3Dblue vlink=3Dpurple><di= v class=3DWordSection1><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-f= amily:Calibri;mso-fareast-language:EN-US'>Hi Jeff,<o:p></o:p></span></p><p c= lass=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:Calibri;mso-fareast= -language:EN-US'><o:p> </o:p></span></p><p class=3DMsoNormal><span style=3D= 'font-size:11.0pt;font-family:Calibri;mso-fareast-language:EN-US'>It is inde= ed a design issue.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font= -size:11.0pt;font-family:Calibri;mso-fareast-language:EN-US'><o:p> </o:= p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:Ca= libri;mso-fareast-language:EN-US'>Would the following also serves your purpo= se?<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;fo= nt-family:Calibri;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p= class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:Calibri;mso-farea= st-language:EN-US'>smtpd_recipient_restrictions =3D<o:p></o:p></span></p><p cl= ass=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:Calibri;mso-fareast-= language:EN-US'>….<o:p></o:p></span></p><p class=3DMsoNormal><span style= =3D'font-size:11.0pt;font-family:Calibri;mso-fareast-language:EN-US'>check_rec= ipient_access lmdb:/etc/postfix/tables/domain_filter<o:p></o:p></span></p><p= class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:Calibri;mso-farea= st-language:EN-US'>….<o:p></o:p></span></p><p class=3DMsoNormal><span st= yle=3D'font-size:11.0pt;font-family:Calibri;mso-fareast-language:EN-US'><o:p>&= nbsp;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-= family:Calibri;mso-fareast-language:EN-US'>Next you could combine the two ap= proaches;<o:p></o:p></span></p><p class=3DMsoListParagraph style=3D'text-indent:= -18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span style=3D'font-size= :11.0pt;font-family:Symbol;mso-fareast-language:EN-US'><span style=3D'mso-list= :Ignore'>=C2=B7<span style=3D'font:7.0pt "Times New Roman"'> &nbs= p; </span></span></span><![endif]><span style=3D'font-= size:11.0pt;font-family:Calibri;mso-fareast-language:EN-US'>Have your aggreg= ation done on your external facing mail server<o:p></o:p></span></p><p class= =3DMsoListParagraph style=3D'text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if = !supportLists]><span style=3D'font-size:11.0pt;font-family:Symbol;mso-fareast-= language:EN-US'><span style=3D'mso-list:Ignore'>=C2=B7<span style=3D'font:7.0pt "Tim= es New Roman"'> </span></spa= n></span><![endif]><span style=3D'font-size:11.0pt;font-family:Calibri;mso-far= east-language:EN-US'>Have your internal mail server decides on the basis of = domain or specific addresses where to send the mail<o:p></o:p></span></p><p = class=3DMsoListParagraph style=3D'margin-left:72.0pt;text-indent:-18.0pt;mso-lis= t:l0 level2 lfo1'><![if !supportLists]><span style=3D'font-size:11.0pt;font-fa= mily:"Courier New";mso-fareast-language:EN-US'><span style=3D'mso-list:Ignore'= >o<span style=3D'font:7.0pt "Times New Roman"'> </span></spa= n></span><![endif]><span style=3D'font-size:11.0pt;font-family:Calibri;mso-far= east-language:EN-US'>For domains to be processed by dspam it sends to a cert= ain port<o:p></o:p></span></p><p class=3DMsoListParagraph style=3D'margin-left:7= 2.0pt;text-indent:-18.0pt;mso-list:l0 level2 lfo1'><![if !supportLists]><spa= n style=3D'font-size:11.0pt;font-family:"Courier New";mso-fareast-language:EN-= US'><span style=3D'mso-list:Ignore'>o<span style=3D'font:7.0pt "Times New Roman"= '> </span></span></span><![endif]><span style=3D'font-size:1= 1.0pt;font-family:Calibri;mso-fareast-language:EN-US'>For specific addressed= for inoculation it sends to another port<o:p></o:p></span></p><p class=3DMsoN= ormal><span style=3D'font-size:11.0pt;font-family:Calibri;mso-fareast-language= :EN-US'><o:p> </o:p></span></p><p class=3DMsoNormal><span style=3D'font-siz= e:11.0pt;font-family:Calibri;mso-fareast-language:EN-US'>Using this combined= solution, you will have reached more flexibility in your setup.<o:p></o:p><= /span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:Calib= ri;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=3DMsoNorma= l><span style=3D'font-size:11.0pt;font-family:Calibri;mso-fareast-language:EN-= US'>Regards,<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:= 11.0pt;font-family:Calibri;mso-fareast-language:EN-US'><o:p> </o:p></sp= an></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:Calibri;= mso-fareast-language:EN-US'>LJ <o:p></o:p></span></p><p class=3DMsoNormal><spa= n style=3D'font-size:11.0pt;font-family:Calibri;mso-fareast-language:EN-US'><o= :p> </o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;f= ont-family:Calibri;mso-fareast-language:EN-US'><o:p> </o:p></span></p><= div><div><p class=3DMsoNormal style=3D'margin-left:36.0pt'>On 19/11/2016, 00:48,= "Jeff Kletsky" <<a href=3D"mailto:[email protected]">dspa= [email protected]</a>> wrote:<o:p></o:p></p></div></div><div><p class=3D= MsoNormal style=3D'margin-left:36.0pt'><o:p> </o:p></p></div><p style=3D'ma= rgin-left:36.0pt'>For anyone reading this that knows, I'm still curious abou= t the effect of multiple "--source=3Derror" invocations of dspam for= the same message/signature.<o:p></o:p></p><p style=3D'margin-left:36.0pt'>Tha= nks LJ!<o:p></o:p></p><p style=3D'margin-left:36.0pt'>The reasoning behind the= "fix-up" approach is that I process the mail with dspam _before_ = local address rewriting is done, <br>so that each (virtual) user gets its ow= n set of tokens in dspam. I was hoping that I'd only have to maintain the vi= rtual alias table for the known-spam users and not have to replicate that el= sewhere, such as an access(5) or transport(5) table.<o:p></o:p></p><p style=3D= 'margin-left:36.0pt'>You've got me thinking though, as I do use another SMTP= instance as a public-facing relay. Since it doesn't maintain its own aliase= s for the served domains, I should be able to do something like setting up a= virtual alias for the multiple known-spam addresses to a single <a href=3D"ma= ilto:[email protected]">"[email protected]&= quot;</a> address and then a simple transport(5) to redirect just the <a hre= f=3D"mailto:[email protected]">"[email protected]= main"</a> address to another instance of smtpd running on a different p= ort the same server as dspam. That smptd would "simply" have it de= livered to dspam for innoculation.<o:p></o:p></p><p style=3D'margin-left:36.0p= t'>Thanks for getting me thinking in another direction!<o:p></o:p></p><p sty= le=3D'margin-left:36.0pt'>Jeff<o:p></o:p></p><p style=3D'margin-left:36.0pt'><o:= p> </o:p></p><p style=3D'margin-left:36.0pt'><o:p> </o:p></p><p styl= e=3D'margin-left:36.0pt'><o:p> </o:p></p><div><p class=3DMsoNormal style=3D'm= argin-left:36.0pt'>On 11/18/16 1:59 PM, L. Jankok wrote:<o:p></o:p></p></div= ><blockquote style=3D'margin-top:5.0pt;margin-bottom:5.0pt'><p class=3DMsoNormal= style=3D'margin-left:36.0pt'><span style=3D'font-size:11.0pt;font-family:Calibr= i;mso-fareast-language:EN-US'>Hi,</span><o:p></o:p></p><p class=3DMsoNormal st= yle=3D'margin-left:36.0pt'><span style=3D'font-size:11.0pt;font-family:Calibri;m= so-fareast-language:EN-US'> </span><o:p></o:p></p><p class=3DMsoNormal st= yle=3D'margin-left:36.0pt'><span style=3D'font-size:11.0pt;font-family:Calibri;m= so-fareast-language:EN-US'>It really boils down how you have implemented dsp= am with postfix.</span><o:p></o:p></p><p class=3DMsoNormal style=3D'margin-left:= 36.0pt'><span style=3D'font-size:11.0pt;font-family:Calibri;mso-fareast-langua= ge:EN-US'>You can create two transports, one for learning and one for inocul= ation.</span><o:p></o:p></p><p class=3DMsoNormal style=3D'margin-left:36.0pt'><s= pan style=3D'font-size:11.0pt;font-family:Calibri;mso-fareast-language:EN-US'>= Next all mails to heavily spammed e-mail address goes directly to inoculate.= </span><o:p></o:p></p><p class=3DMsoNormal style=3D'margin-left:36.0pt'><span st= yle=3D'font-size:11.0pt;font-family:Calibri;mso-fareast-language:EN-US'>Why sh= ould you first go to learn and then go to inoculate if your assumption is th= at the mail is spam anyways?</span><o:p></o:p></p><p class=3DMsoNormal style=3D'= margin-left:36.0pt'><span style=3D'font-size:11.0pt;font-family:Calibri;mso-fa= reast-language:EN-US'> </span><o:p></o:p></p><p class=3DMsoNormal style=3D'= margin-left:36.0pt'><span style=3D'font-size:11.0pt;font-family:Calibri;mso-fa= reast-language:EN-US'>Regards,</span><o:p></o:p></p><p class=3DMsoNormal style= =3D'margin-left:36.0pt'><span style=3D'font-size:11.0pt;font-family:Calibri;mso-= fareast-language:EN-US'> </span><o:p></o:p></p><p class=3DMsoNormal style= =3D'margin-left:36.0pt'><span style=3D'font-size:11.0pt;font-family:Calibri;mso-= fareast-language:EN-US'>LJ</span><o:p></o:p></p><p class=3DMsoNormal style=3D'ma= rgin-left:36.0pt'><span style=3D'font-size:11.0pt;font-family:Calibri;mso-fare= ast-language:EN-US'> </span><o:p></o:p></p><div><div><p class=3DMsoNormal= style=3D'margin-left:72.0pt'>On 18/11/2016, 22:14, "Jeff Kletsky" &= lt;<a href=3D"mailto:[email protected]">[email protected]</a>>= ; wrote:<o:p></o:p></p></div></div><div><p class=3DMsoNormal style=3D'margin-lef= t:72.0pt'> <o:p></o:p></p></div><p style=3D'margin-left:72.0pt'>Over the = years I've ended up with some email addresses that are heavily spammed and n= o longer in use.<o:p></o:p></p><p style=3D'margin-left:72.0pt'>I'd like to tak= e advantage of them as a honeypot for inoculation, with the knowledge that t= hey only receive spam.<o:p></o:p></p><p style=3D'margin-left:72.0pt'>I run Pos= tfix and use dspam as a post-queue filter, as described at <a href=3D"http://w= ww.postfix.org/FILTER_README.html#advanced_filter">http://www.postfix.org/FI= LTER_README.html#advanced_filter</a><o:p></o:p></p><p style=3D'margin-left:72.= 0pt'>As a result, all mail gets classified<i> before </i>I know the final re= cipient, as local aliases haven't been evaluated yet.<o:p></o:p></p><p style= =3D'margin-left:72.0pt'>I'd like to "deliver" mail for these destina= tions by routing all of it through something like<o:p></o:p></p><p style=3D'ma= rgin-left:72.0pt'> | dspam --clien= t --user <user> --source=3Derror --class=3Dspam<o:p></o:p></p><p style=3D'ma= rgin-left:72.0pt'>without having to first determine if it was improperly cla= ssified as non-spam.<o:p></o:p></p><p style=3D'margin-left:72.0pt'>Reading DSP= AM(1) reveals<o:p></o:p></p><p style=3D'margin-left:72.0pt'> = You should use error only when DSPAM has made an error in clas-<br>&n= bsp; sifying the message, and should present the modified = version of<br> the message with the DSPAM signature when d= oing so.<o:p></o:p></p><p style=3D'margin-left:72.0pt'>Does this mean that if = the message was originally classified as spam that the token and message cou= nts<br>are "blindly" incremented each time it is called, <br>or do= es dspam check to see the classification of the message ID before incrementi= ng the counts?<o:p></o:p></p><p style=3D'margin-left:72.0pt'>As easy as it wou= ld be to grep for 'X-DSPAM-Result: Innocent', it starts getting messy <br>si= nce I also either need the full message or the signature (another grep pass)= to pass to dspam.<o:p></o:p></p><p style=3D'margin-left:72.0pt'> <o:p></= o:p></p><p style=3D'margin-left:72.0pt'>If I can't just feed the message into = the reclassify dspam call, are there any "elegant" approaches to t= his?<o:p></o:p></p><p style=3D'margin-left:72.0pt'> <o:p></o:p></p><p sty= le=3D'margin-left:72.0pt'>Thanks!<o:p></o:p></p><p style=3D'margin-left:72.0pt'>= <o:p></o:p></p><p style=3D'margin-left:72.0pt'>Jeff<o:p></o:p></p><p sty= le=3D'margin-left:72.0pt'> <o:p></o:p></p><p class=3DMsoNormal style=3D'margi= n-left:72.0pt'>-------------------------------------------------------------= ----------------- _______________________________________________ Dspam-user= mailing list <a href=3D"mailto:[email protected]">Dspam-user@l= ists.sourceforge.net</a> <a href=3D"https://lists.sourceforge.net/lists/listin= fo/dspam-user">https://lists.sourceforge.net/lists/listinfo/dspam-user</a> <= o:p></o:p></p><p class=3DMsoNormal style=3D'margin-left:36.0pt'><br><br><br><o:p= ></o:p></p><pre style=3D'margin-left:36.0pt'>---------------------------------= ---------------------------------------------<o:p></o:p></pre><p class=3DMsoNo= rmal style=3D'margin-left:36.0pt'><br><br><br><o:p></o:p></p><pre style=3D'margi= n-left:36.0pt'>_______________________________________________<o:p></o:p></p= re><pre style=3D'margin-left:36.0pt'>Dspam-user mailing list<o:p></o:p></pre><= pre style=3D'margin-left:36.0pt'><a href=3D"mailto:[email protected].= net">[email protected]</a><o:p></o:p></pre><pre style=3D'margin= -left:36.0pt'><a href=3D"https://lists.sourceforge.net/lists/listinfo/dspam-us= er">https://lists.sourceforge.net/lists/listinfo/dspam-user</a><o:p></o:p></= pre></blockquote><p class=3DMsoNormal style=3D'margin-left:36.0pt'><br>---------= --------------------------------------------------------------------- ______= _________________________________________ Dspam-user mailing list Dspam-user= @lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspam-us= er <o:p></o:p></p></div></body></html> --B_3562380778_857946185-- --===============1593008879008400530== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ --===============1593008879008400530== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Dspam-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspam-user --===============1593008879008400530==--