cm_perl -- A Perl Plugin for Claws Mail
-
=head1 DESCRIPTION
This plugin provides an extended filtering engine for the email
Corresponds the 'test' internal filtering rule. In particular, it
accepts the same symbols, namely:
-=over
+=over
=item %%
=item regexpcase WHERE WHAT
The matching functions have a special syntax. The first argument
-is either any of to_or_cc, body_part, headers_part, message, to,
-from, subject, cc, newsgroups, inreplyto, references, or tag (those
-strings may or may not be quoted), the patter matching works on
-that area. If it is any other string (which must then be quoted),
-this string is taken to be the name of a header field.
+is either any of to_or_cc, body_part, headers_part, headers_cont,
+message, to, from, subject, cc, newsgroups, inreplyto,
+references, or tag (those strings may or may not be quoted), the
+pattern matching works on that area. If it is any other string
+(which must then be quoted), this string is taken to be the name
+of a header field.
The second argument is the string to look for. For match,
matchcase, regexp and regexpcase we have case sensitive normal
=item mark_as_read
-Mark the message as read
+Mark the message as read
=item mark_as_unread
Changes the filter log verbosity for the current mail. VERBOSITY
must be any of
-=over
+=over 2
-=item *
+=item C<0>
-0
+Be silent
-=item *
+=item C<1>
-1
+Log MANUAL type
-=item *
+=item C<2>
-2
+Log Action type
-=item *
+=item C<3>
-3
+Log MATCH type
=back
=over
-=item 0
+=item C<0>
logging disabled
-=item 1
+=item C<1>
log only manual messages, that is, messages introduced by the
C<filter_log> command in filter scripts
-=item 2
+=item C<2>
log manual messages and filter actions
-=item 3
+=item C<3>
log manual messages, filter actions and filter matches
#-8<----------------------------------------------------
# -*- perl -*-
-
+
# local functions
-
+
# Learn ham messages, and move them to specified folder. This is
# useful for making sure a bayes filter sees ham as well.
sub learn_and_move {
execute('put command to learn ham here');
move(@_);
}
-
+
# Two-stage spam filter. Every email that scores higher than 15
# on SpamAssassin gets moved into the default trash folder.
# All mails lower than that, but higher than SpamAssassin's
}
if($value >= $threshold) {mark_as_read; move '#mh/mail/Spam';}
}
-
+
# Perl script execution starts here.
-
+
# Some specific sorting
learn_and_move '#mh/mail/MailLists/Claws Mail/user'
if matchcase('sender','claws-mail-users-admin@lists.sourceforge.net');
learn_and_move '#mh/mail/MailLists/Sylpheed'
if matchcase('list-id','sylpheed.good-day.net');
-
+
# Implement imcomming folders using addressbook
# attributes. Target folders for specific email addresses are
# stored directly in the addressbook. This way, if an email
# An example of a whitelist: If the from-address is in my
# "office" addressbook, move the mail to folder #mh/mail/office
learn_and_move '#mh/mail/office' if from_in_addressbook("office");
-
+
# If the from-address is in any other addressbook, move the
# mail to folder #mh/mail/inbox/known
learn_and_move '#mh/mail/inbox/known' if from_in_addressbook;