SA + Maildrop + IMP spam reporting

Tim Hasson <[email protected]> Fri, 30 Jan 2004 14:26:07 -0800
Newsgroups gmane.comp.horde.sam,gmane.linux.debian.user
Message-ID <[email protected]>
This message is in MIME format.

---MOQ1075501567b2f5b7340b892de098f4ce8dc8be7e78
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,

The attached patch to IMP-3.2.1 allows you to enable spam reporting in=20
imp/conf.php
set a [email protected] , and optionally spam delete enable.

When a user clicks "Report as Spam" in message.php, the message is
redirected to the [email protected] without modifying/adding any headers
(such as Reset headers when using Redirect function in IMP), except for a
extra Received line which doesn't hurt much..

This patch was very useful for me to allow to report spam directly to
sa-learn (from SpamAssassin) to teach the bayesian classifier server-wide

If using maildrop as the delivery agent (recommended):
Simply, in the [email protected] maildir put a .mailfilter with 3 lines li=
ke:

exception {
  cc "| /usr/local/bin/sa-learn --spam --local --single --no-rebuild"
}

And run a cron regularly to rebuild the bayes database:
0       */2     *       *       *       vpopmail        /usr/local/bin/sa=
-
learn --rebuild


Hope it could be useful to many people..


Respectfully,
Tim Hasson
Consultant, AiDA Systems
(209) 639-2989 Voice

---MOQ1075501567b2f5b7340b892de098f4ce8dc8be7e78
Content-Type: application/octet-stream; name="imp-3.2.1-reportspam.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="imp-3.2.1-reportspam.patch"

VGhpcyBwYXRjaCBhbGxvd3MgeW91IHRvIGVuYWJsZSBzcGFtIHJlcG9ydGluZyBpbiBpbXAvY29u
Zi5waHAKc2V0IGEgc3BhbUBhZGRyZXNzLmNvbSAsIGFuZCBvcHRpb25hbGx5IHNwYW0gZGVsZXRl
IGVuYWJsZS4KCldoZW4gYSB1c2VyIGNsaWNrcyAiUmVwb3J0IGFzIFNwYW0iIGluIG1lc3NhZ2Uu
cGhwLCB0aGUgbWVzc2FnZSBpcwpyZWRpcmVjdGVkIHRvIHRoZSBzcGFtQGFkZHJlc3MuY29tIHdp
dGhvdXQgbW9kaWZ5aW5nL2FkZGluZyBhbnkgaGVhZGVycwooc3VjaCBhcyBSZXNldCBoZWFkZXJz
IHdoZW4gdXNpbmcgUmVkaXJlY3QgZnVuY3Rpb24gaW4gSU1QKSwgZXhjZXB0IGZvciBhCmV4dHJh
IFJlY2VpdmVkIGxpbmUgd2hpY2ggZG9lc24ndCBodXJ0IG11Y2guLgoKVGhpcyBwYXRjaCB3YXMg
dmVyeSB1c2VmdWwgZm9yIG1lIHRvIGFsbG93IHRvIHJlcG9ydCBzcGFtIGRpcmVjdGx5IHRvCnNh
LWxlYXJuIChmcm9tIFNwYW1Bc3Nhc3NpbikgdG8gdGVhY2ggdGhlIGJheWVzaWFuIGNsYXNzaWZp
ZXIgc2VydmVyLXdpZGUKCklmIHVzaW5nIG1haWxkcm9wIGFzIHRoZSBkZWxpdmVyeSBhZ2VudCAo
cmVjb21tZW5kZWQpOgpTaW1wbHksIGluIHRoZSBzcGFtQGFkZHJlc3MuY29tIG1haWxkaXIgcHV0
IGEgLm1haWxmaWx0ZXIgd2l0aCAzIGxpbmVzIGxpa2U6CgpleGNlcHRpb24gewogIGNjICJ8IC91
c3IvbG9jYWwvYmluL3NhLWxlYXJuIC0tc3BhbSAtLWxvY2FsIC0tc2luZ2xlIC0tbm8tcmVidWls
ZCIKfQoKQW5kIHJ1biBhIGNyb24gcmVndWxhcmx5IHRvIHJlYnVpbGQgdGhlIGJheWVzIGRhdGFi
YXNlOgowICAgICAgICovMiAgICAgKiAgICAgICAqICAgICAgICogICAgICAgdnBvcG1haWwgICAg
ICAgIC91c3IvbG9jYWwvYmluL3NhLWxlYXJuIC0tcmVidWlsZAoKClRpbSBIYXNzb24KdGltQGFp
ZGFzeXN0ZW1zLmNvbQpKYW4gMjgsIDIwMDQKCgotLS0gaW1wLTMuMi4xL21lc3NhZ2UucGhwCVRo
dSBKYW4gMTYgMTQ6Mjk6MDIgMjAwMworKysgL3d3dy9odGRvY3Mvd2VibWFpbC93ZWIvbWFpbC9t
ZXNzYWdlLnBocAlUaHUgSmFuIDI5IDAyOjIxOjE4IDIwMDQKQEAgLTQwMiwzNyArNDAyLDEwNyBA
QAogICAgICBpZiAoISRjb25mWydzcGFtJ11bJ3JlcG9ydGluZyddKSB7CiAgICAgICAgICBicmVh
azsKICAgICAgfQorICAgICAvKiBQaXBlIG1lc3NhZ2UgdGhyb3VnaCBzcGFtIHJlcG9ydGluZyBw
cm9ncmFtIChTcGFtQXNzYXNzaW4pICovCisgICAgIGlmKCRjb25mWydzcGFtJ11bJ3Byb2dyYW0n
XSkgeworCisgICAgICAgICAkcmF3X21zZyA9IGltYXBfZmV0Y2hoZWFkZXIoJGltcFsnc3RyZWFt
J10sICRpbmRleCwgRlRfVUlEKSAuICJcbiIgLiBpbWFwX2JvZHkoJGltcFsnc3RyZWFtJ10sICRp
bmRleCwgRlRfVUlEKTsKKworICAgICAgICAgJHBpcGUgPSBwb3BlbigkY29uZlsnc3BhbSddWydw
cm9ncmFtJ10sICd3Jyk7CisgICAgICAgICBmd3JpdGUoJHBpcGUsICRyYXdfbXNnKTsKKyAgICAg
ICAgIHBjbG9zZSgkcGlwZSk7CisKKyAgCSBIb3JkZTo6cmFpc2VNZXNzYWdlKF8oIlRoaXMgbWVz
c2FnZSBoYXMgYmVlbiByZXBvcnRlZCBhcyBzcGFtLiIpLCBIT1JERV9NRVNTQUdFKTsKKyAgICAg
ICAgIGJyZWFrOworCisgICAgIH0KKwogCi0gICAgIC8qIEZldGNoIHRoZSByYXcgbWVzc2FnZSBj
b250ZW50cyAoaGVhZGVycyBhbmQgY29tcGxldGUgYm9keSkuICovCi0gICAgICRyYXdfbXNnID0g
aW1hcF9mZXRjaGhlYWRlcigkaW1wWydzdHJlYW0nXSwgJGluZGV4LCBGVF9VSUQpIC4gIlxuIiAu
Ci0gICAgICAgICBpbWFwX2JvZHkoJGltcFsnc3RyZWFtJ10sICRpbmRleCwgRlRfVUlEKTsKLQot
ICAgICAvKiBCdWlsZCB0aGUgTUlNRSBzdHJ1Y3R1cmUuICovCi0gICAgIGluY2x1ZGVfb25jZSBI
T1JERV9CQVNFIC4gJy9saWIvTUlNRS9NZXNzYWdlLnBocCc7Ci0gICAgIGluY2x1ZGVfb25jZSBI
T1JERV9CQVNFIC4gJy9saWIvTUlNRS9QYXJ0LnBocCc7Ci0KLSAgICAgJG1pbWUgPSBuZXcgTUlN
RV9NZXNzYWdlKCRyYXdfbXNnKTsKLSAgICAgJGJvZHkgPSBuZXcgTUlNRV9QYXJ0KCd0ZXh0L3Bs
YWluJywgJHJhd19tc2cpOwotICAgICAkbWltZS0+YWRkUGFydCgkYm9keSk7Ci0gICAgICRtc2cg
PSAkbWltZS0+dG9TdHJpbmcoKTsKLQotICAgICAkaGVhZGVyc1snTWVzc2FnZS1JRCddID0gJzwn
IC4gdW5pcWlkKHRpbWUoKSAuICcuJykgLiAnQCcgLiAkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSAu
ICc+JzsKLSAgICAgJGhlYWRlcnNbJ0RhdGUnXSA9IGRhdGUoJ3InKTsKLSAgICAgJGhlYWRlcnNb
J1RvJ10gPSAkY29uZlsnc3BhbSddWydlbWFpbCddOwotICAgICAkaGVhZGVyc1snRnJvbSddID0g
JHVzZXJfaWRlbnRpdHktPmdldEZyb21MaW5lKCk7CiAgICAgICRyZWNpcGllbnRzID0gJGNvbmZb
J3NwYW0nXVsnZW1haWwnXTsKLSAgICAgJGhlYWRlcnNbJ1N1YmplY3QnXSA9IF8oIlNwYW0gUmVw
b3J0IGZyb20iKSAuICcgJyAuICRpbXBbJ3VzZXInXTsKLSAgICAgJGhlYWRlcnMgPSAkbWltZS0+
aGVhZGVyKCRoZWFkZXJzKTsKKyAgICAgJG9yaWdfaGVhZGVycyA9IEBpbWFwX2ZldGNoaGVhZGVy
KCRpbXBbJ3N0cmVhbSddLCAkaW5kZXgsIEZUX1VJRCk7CisgICAgICRvcmlnX2hlYWRlcnMgPSBz
dHJfcmVwbGFjZSgiXHIiLCAnJywgJG9yaWdfaGVhZGVycyk7CisgICAgICRoZWFkZXJfYXJyID0g
ZXhwbG9kZSgiXG4iLCAkb3JpZ19oZWFkZXJzKTsKKworICAgICBmb3JlYWNoICgkaGVhZGVyX2Fy
ciBhcyAkaGVhZGVyKSB7CisgICAgICAgICBpZiAoIWVtcHR5KCRoZWFkZXIpICYmICRoZWFkZXIg
IT0gIlxuIikgeworICAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCd8XihbLVx3XSopOiAoLiop
fCcsICRoZWFkZXIsICRwaWVjZXMpKSB7CisgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkaGVh
ZGVyc1skcGllY2VzWzFdXSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICRoZWFkZXJzWyRwaWVj
ZXNbMV1dIC49ICJcbiIgLiAkaGVhZGVyOworICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgICAgICAgJGhlYWRlcnNbJHBpZWNlc1sxXV0gPSAkcGllY2VzWzJdOworICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICRsYXN0ID0gJHBpZWNlc1sxXTsKKyAg
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgJGhlYWRlcnNbJGxhc3RdIC49
ICJcbiIgLiAkaGVhZGVyOworICAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAgICAgfQorCisK
ICAgICAgSU1QOjphZGRTaXRlSGVhZGVycygkaGVhZGVycyk7CisgICAgICRtc2cgPSBAaW1hcF9i
b2R5KCRpbXBbJ3N0cmVhbSddLCAkaW5kZXgsIEZUX1VJRCk7CiAKICAgICAgaW5jbHVkZV9vbmNl
ICdNYWlsLnBocCc7CiAgICAgIGlmICghZW1wdHkoJGltcFsnc210cGhvc3QnXSkpIHsKICAgICAg
ICAgICRjb25mWydtYWlsZXInXVsncGFyYW1zJ11bJ2hvc3QnXSA9ICRpbXBbJ3NtdHBob3N0J107
CiAgICAgIH0KLSAgICAgJG1haWxlciA9ICZNYWlsOjpmYWN0b3J5KCRjb25mWydtYWlsZXInXVsn
dHlwZSddLCAkY29uZlsnbWFpbGVyJ11bJ3BhcmFtcyddKTsKLSAgICAgJG1haWxlci0+c2VuZCgk
cmVjaXBpZW50cywgJGhlYWRlcnMsICRtc2cpOworCisgICAgICAgJHBhcmFtcyA9IElNUDo6cHJl
cGFyZU1haWxlclBhcmFtcygpOworICAgICAgICRtYWlsZXIgPSAmTWFpbDo6ZmFjdG9yeSgkY29u
ZlsnbWFpbGVyJ11bJ3R5cGUnXSwgJHBhcmFtcyk7CisgICAgICAgJHN0YXR1cyA9ICRtYWlsZXIt
PnNlbmQoTUlNRTo6ZW5jb2RlQWRkcmVzcygkcmVjaXBpZW50cyksICRoZWFkZXJzLCAkbXNnKTsK
KwogCiAgICAgIEhvcmRlOjpyYWlzZU1lc3NhZ2UoXygiVGhpcyBtZXNzYWdlIGhhcyBiZWVuIHJl
cG9ydGVkIGFzIHNwYW0gdG8geW91ciBzeXN0ZW0gYWRtaW5pc3RyYXRvci4iKSwgSE9SREVfTUVT
U0FHRSk7CisgICAgIC8qIERlbGV0ZSBTcGFtIGFmdGVyIHJlcG9ydCAqLworICAgICBpZiAoJGNv
bmZbJ3NwYW0nXVsncmVwb3J0aW5nX2RlbGV0ZSddKSB7CisKKworICAgICAgIGlmICghSU1QX01l
c3NhZ2U6OmRlbGV0ZSgkaW5kZXgpKSB7CisgICAgICAgICAgICRhcnJheV9pbmRleCsrOworICAg
ICAgICAgICAkaW5kZXggPSAkc29ydGVkWyRhcnJheV9pbmRleF07CisgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICBpZiAoJHByZWZzLT5nZXRWYWx1ZSgndXNlX3RyYXNoJykpIHsKKyAgICAgICAg
ICAgICAgIC8qIE51a2UgdGhlIG1lc3NhZ2Ugd2UndmUganVzdCBkZWxldGVkIGZyb20gdGhlCisg
ICAgICAgICAgICAgICAgICBtZXNzYWdlIGFycmF5LiAqLworICAgICAgICAgICAgICAgJHNvcnRl
ZCA9IGFycmF5X21lcmdlKGFycmF5X3NsaWNlKCRzb3J0ZWQsIDAsICRhcnJheV9pbmRleCksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfc2xpY2UoJHNvcnRlZCwg
JGFycmF5X2luZGV4ICsgMSkpOworICAgICAgICAgICAgICAgJGltcFsnbXNnbCddID0gaW1wbG9k
ZSgnOicsICRzb3J0ZWQpOworICAgICAgICAgICAgICAgJGltcFsnbXNnY291bnQnXS0tOworICAg
ICAgICAgICAgICAgJGluZGV4ID0gJHNvcnRlZFskYXJyYXlfaW5kZXhdOworICAgICAgICAgICB9
IGVsc2VpZiAoc3Ryc3RyKCRpbXBbJ3Byb3RvY29sJ10sICdwb3AzJykpIHsKKyAgICAgICAgICAg
ICAgIC8qIElNUF9NZXNzYWdlOjpkZWxldGUoKSB0YWtlcyBjYXJlIG9mIGV4cHVuZ2luZyB0aGUK
KyAgICAgICAgICAgICAgICAgIG1haWxib3ggdG8gbWFrZSB0aGUgZGVsZXRlIHN0aWNrOyBub3cg
d2UganVzdCBuZWVkCisgICAgICAgICAgICAgICAgICB0byByZWNhbGN1bGF0ZSB0aGUgbWVzc2Fn
ZSBsaXN0LiAqLworICAgICAgICAgICAgICAgaWYgKCRwcmVmcy0+Z2V0VmFsdWUoJ3NvcnRieScp
ICE9IFNPUlRUSFJFQUQpIHsKKyAgICAgICAgICAgICAgICAgICAkc29ydGVkID0gaW1hcF9zb3J0
KCRpbXBbJ3N0cmVhbSddLCAkcHJlZnMtPmdldFZhbHVlKCdzb3J0YnknKSwgJHByZWZzLT5nZXRW
YWx1ZSgnc29ydGRpcicpLCBTRV9VSUQpOworICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICBJTVBfTWVzc2FnZTo6dGhyZWFkU29ydCgpOworICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgJHNvcnRlZCA9IElNUF9NZXNzYWdlOjpyYW5nZSgkc29ydGVkLCAk
YXJyYXlfaW5kZXggKyAkaW1wWydvZmZzZXQnXSArIDEsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICRpbXBbJ29mZnNldCddLCAkYXJyYXlfaW5kZXgsICRpbXBb
J21zZ2NvdW50J10pOworICAgICAgICAgICAgICAgJGltcFsnbXNnbCddID0gaW1wbG9kZSgnOics
ICRzb3J0ZWQpOworICAgICAgICAgICAgICAgJGluZGV4ID0gJHNvcnRlZFskYXJyYXlfaW5kZXhd
OworICAgICAgICAgICB9IGVsc2VpZiAoJHByZWZzLT5nZXRWYWx1ZSgnZGVsaGlkZScpKSB7Cisg
ICAgICAgICAgICAgICBpZiAoJHByZWZzLT5nZXRWYWx1ZSgnc29ydGJ5JykgIT0gU09SVFRIUkVB
RCkgeworICAgICAgICAgICAgICAgICAgICRzb3J0ZWQgPSBpbWFwX3NvcnQoJGltcFsnc3RyZWFt
J10sICRwcmVmcy0+Z2V0VmFsdWUoJ3NvcnRieScpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJHByZWZzLT5nZXRWYWx1ZSgnc29ydGRpcicpLCBTRV9VSUQsICdVTkRF
TEVURUQnKTsKKyAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgSU1Q
X01lc3NhZ2U6OnRocmVhZFNvcnQoKTsKKyAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICRzb3J0ZWQgPSBJTVBfTWVzc2FnZTo6cmFuZ2UoJHNvcnRlZCwgJGFycmF5X2luZGV4ICsgJGlt
cFsnb2Zmc2V0J10gKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAkaW1wWydvZmZzZXQnXSwgJGFycmF5X2luZGV4LCAkaW1wWydtc2djb3VudCddKTsKKyAg
ICAgICAgICAgICAgICRpbXBbJ21zZ2wnXSA9IGltcGxvZGUoJzonLCAkc29ydGVkKTsKKyAgICAg
ICAgICAgICAgICRpbmRleCA9ICRzb3J0ZWRbJGFycmF5X2luZGV4XTsKKyAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICRhcnJheV9pbmRleCsrOworICAgICAgICAgICAgICAgJGlu
ZGV4ID0gJHNvcnRlZFskYXJyYXlfaW5kZXhdOworICAgICAgICAgICB9CisgICAgICAgfQorICAg
ICAgIGlmICgkcHJlZnMtPmdldFZhbHVlKCdtYWlsYm94X3JldHVybicpKSB7CisgICAgICAgICAg
IGhlYWRlcignTG9jYXRpb246ICcgLiBIb3JkZTo6YXBwbGljYXRpb25VcmwoJ21haWxib3gucGhw
P3N0YXJ0PScgLiAoJGFycmF5X2luZGV4ICsgJGltcFsnb2Zmc2V0J10gKyAxKSwgdHJ1ZSkpOwor
ICAgICAgICAgICBleGl0OworICAgICAgIH0KKworICAgICB9CiAgICAgIGJyZWFrOwogCiAgY2Fz
ZSBBRERfQUREUkVTUzoK

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

-- 
sam mailing list - Join the hunt: http://horde.org/bounties/#sam
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: [email protected]

---MOQ1075501567b2f5b7340b892de098f4ce8dc8be7e78--