WD Baseley
wd@baseley.org
Fri, 22 Mar 2002 15:08:44 -0500
[In which I present a long overdue response to a request from Vernon to
assist in building a list of MUAs that can filter on DCC headers.]
----- Overwiew -----
Eudora 5.x for Windows includes in its filter arsenal the ability to match
based on regular expressions. This feature works only in Sponsored (ads in
a little window) and Paid (send $) Modes; it does -not- work in Lite (no
ads, no $) Mode. The feature allows a sufficiently motivated individual to
construct filters based on X-DCC headers.
Using the filter dialog, it goes something like this:
--------------------
--Match--
Incoming
[checkbox]
Header: X-DCC-<whatever>:
[will not be on the dropdown list, but can be typed in]
matches regexp
(enter regexp in field next to "matches regexp")
ignore
[ignore subsequent matching criterium]
[optional: use and/or/unless and add another filter criterium]
--Action--
[select up to 5 desired actions from the available list]
--------------------
----- Example -----
The following example uses an expression Vernon supplied as its basis:
>An example GNU egrep expression that matches X-DCC header lines
>for body counts >=50 is
> ^X-DCC.* (Body|Fuz[1-4])=(many|[5-9][0-9]|[0-9]\{3,\})
Eudora doesn't support wildcards in the Header: field. However it
certainly seems possible to construct a filter using the <Any header>
option in the Headers: field, coupled with a suitable regexp, to provide
equivalent functionality. I'll defer that particular example to the regex
gurus; below is an example that will match on a single header.
-------------------
--Match--
Header: X-DCC-MAPS-Metrics:
matches regexp
(Body|Fuz[1-4])=(many|[5-9][0-9]|[0-9]\{3,\})
ignore
--Action--
Transfer to
Probable Junk
Skip Rest
-------------------
Windows Eudora stores its filters in a text file called filters.pce. The
relevant portion of that file for the filter above looks like this (for my
particular mailbox/folder construct):
--------------------
rule X-DCC-MAPS-Metrics:(Body|Fuz[1-4])=(many|[5-9][0-9]|[0-9]\{3,\})
transfer NetAbuse.fol\PROBABLE.MBX
stop
incoming
header X-DCC-MAPS-Metrics:
verb regex
value (Body|Fuz[1-4])=(many|[5-9][0-9]|[0-9]\{3,\})
conjunction ignore
header
verb contains
value
--------------------
----- Notes -----
1) Eudora uses its own regex interpreter, and I'm told by folks more expert
than myself that their implementation is just a tad buggy. The manual
asserts that "Eudora uses the POSIX implementation."
2) The filter dialog checks the regex for syntax and produces appropriate
error messages if it finds a boo-boo (which seems like a nice feature to
this regex newbie).
3) Eudora processes filters in the order they appear in its Filters dialog.
The Actions section includes <Skip Rest> which should be liberally applied.
4) There is a version of Eudora 5.x for Macs.
----- Recommended reading -----
- Background information on Eudora filters, including tips on construction,
filter order, and using filters to stop spam -- but NO information on using
regex:
<http://wso.williams.edu:8000/~eudora/frame-faqs.html#filters>
- Eudora Manual/Help file, especially:
Detailed Filters with the Filters Window
Regular Expressions (Sponsored and Paid modes only)
Windows manual (4.2MB)
<http://www.eudora.com/download/eudora/windows/5.1/full_elec/Manual51.pdf>
Mac manual (3.3MB)
<http://www.eudora.com/download/eudora/mac/5.1/final/Eudora5.1_Manual.sit.hqx>
- Eudora recommends the following site for regex information:
<www.robelle.com/library/smugbook/regexpr.html>
----- More information -----
- Eudora FAQs and Links: <http://wso.williams.edu:8000/~eudora/>
- newsgroup: comp.mail.eudora.ms-windows
- I have used Eudora filters for many years and find them to be highly
flexible, customizable, and reliable. I'd be happy to provide such help as
I can.
Regards,
-wdb