The filters plugin
There are a number of optional plugins which use procmail, maildrop and other utilities to filter mail at delivery time. That is, they run in conjunction with the mail server. Some sites may not allow you to add this capability to your MTA, but you can use a standard plugin to get SquirrelMail to do this as it scans your message.
Use the "./configure" program the select "Plugins" then the simple "filters" plugin to move it from "Available Plugins" to your list of "Installed Plugins".
Login to squirrelmail and select "Options" then "Message Filters". I scan "Only unread messages" instead of all messages. Create a filter with "New". An example:
Match: To or CC
Move to: list.squirrelmail-users
Add as many as you like, but be aware that this client-side filtering (SquirrelMail is an IMAP client) is slower than MTA-based delivery-time server-side filters.
WARNING! Tell your admin to set the SpamFilters_YourHop variable.
Solution (from "plugins/filters/setup.php")
* Set this to a string containing something unique to the line in the
* header you want me to find IPs to scan the databases with. For example,
* All the email coming IN from the internet to my site has a line in
* the header that looks like (all on one line):
* Received: [from usw-sf-list1.sourceforge.net (usw-sf-fw2.sourceforge.net
* [18.104.22.168]) by firewall.persistence.com (SYSADMIN-antispam
* 0.2) with
* Since this line indicates the FIRST hop the email takes into my network,
* I set my SpamFilters_YourHop to 'by firewall.persistence.com' but any
* case-sensitive string will do. You can set it to something found on
* every line in the header (like ' ') if you want to scan all IPs in
* the header (lots of false alarms here tho).
$SpamFilters_YourHop = ' ';
Received: from sitemeter.com (mail.sitemeter.com [22.214.171.124])
by mail.mailserver.com (Postfix) with ESMTP id 487A61F6151
for <email@example.com>; Mon, 6 Dec 2004 08:53:21 +0000 (GMT)
Received: from SM50442 ([126.96.36.199])
by sitemeter.com (sitemeter.com [188.8.131.52])
with ESMTP id md50016287249.msg
for <firstname.lastname@example.org>; Mon, 06 Dec 2004 03:49:26 -0500
In the above address header, my real mail server is "mail.mailserver.com" and hence I would set:
$SpamFilters_YourHop = 'by mail.mailserver.com';