/[cvs]/nfo/perl/scripts/dispatchmail/etc/.dispatchmailrc-joko
ViewVC logotype

Contents of /nfo/perl/scripts/dispatchmail/etc/.dispatchmailrc-joko

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Thu Jan 30 23:38:00 2003 UTC (21 years, 5 months ago) by root
Branch: MAIN
CVS Tags: HEAD
+ initial commit

1 ## ---------------------------------------------------------------------------
2 ## $Id: .dispatchmailrc,v 1.7 2003/01/24 03:16:23 joko_mail Exp $
3 ## ---------------------------------------------------------------------------
4 ## $Log: .dispatchmailrc,v $
5 ## Revision 1.7 2003/01/24 03:16:23 joko_mail
6 ## + fixed 'Cron'-rule\n+ fixed 'me2myself'-rule
7 ##
8 ## Revision 1.6 2003/01/24 02:35:03 joko_mail
9 ## + modified structure (hierarchy) of IMAP folders completely (more or less)
10 ##
11 ## Revision 1.5 2003/01/24 00:58:38 joko
12 ## + added log-message at end of rules
13 ##
14 ## Revision 1.4 2003/01/24 00:45:16 joko
15 ## + used feature 'AUTOCREATE_FOLDERS'
16 ## + added new rules
17 ## + moved logs/cvs/quepasa.netfrag.org to logs/netfrag.org/cvs
18 ##
19 ## Revision 1.3 2003/01/24 00:23:40 joko
20 ## + reformatted former log-message to contain max. 80 chars per line
21 ##
22 ## Revision 1.2 2003/01/24 00:18:41 joko
23 ## + modified according to refactoring or 'recieveMail' to '
24 ## dispatchmail' and 'Mail::Audit::Dispatch'
25 ##
26 ## ---------------------------------------------------------------------------
27
28
29 package rules;
30
31 use strict;
32 # don't use warnings;
33
34 my $mc = 0;
35 sub mark {
36 $mc++;
37 #report("mark $mc");
38 }
39
40 sub dispatch {
41
42 # --- for dispatchmail (not needed with receiveMail)
43 my $self = shift;
44 my $incoming = $self->{incoming};
45 my $MAILDIR = $self->{settings}->{MAILDIR};
46
47 # --- recieveMail (relicts) - TODO: refactor this!
48 my $from = $incoming->from;
49 my $to = $incoming->to;
50 my $subject = $incoming->subject;
51 chomp($from);
52 chomp($to);
53 chomp($subject);
54
55 #report("MAILDIR: $MAILDIR");
56
57 # --- dispatchmail - additional options
58
59 # enable this to let dispatchmail create your target folders on demand
60 $self->{settings}->{AUTOCREATE_FOLDERS} = 1;
61
62
63 # -----
64 # subject-based-routing
65
66 $self->jaccept("$MAILDIR/FILTERED/Spam")
67 if ($subject =~ /^{SPAM\?}/);
68 $self->jaccept("$MAILDIR/FILTERED/Spam")
69 if ($from =~ /fminfos\@web\.de/);
70
71 if ($subject =~ /h1 .+ ACTIVE SYSTEM ATTACK!/) {
72 $self->jaccept("$MAILDIR/SORTED/logs/netfrag.org/system/h1.service.netfrag.org");
73 }
74 if ($subject =~ /Automated notification of topic changes/) {
75 $self->jaccept("$MAILDIR/SORTED/logs/twiki.org/ChangeLog");
76 }
77 if ($subject =~ /remember/i || $subject =~ /!$/) {
78 $self->jaccept("$MAILDIR/SORTED/netfrag.org/Inbox");
79 }
80
81 # ----------------------------------------
82 # source-routing - admin emails
83 if ($incoming->from =~ /(root|admin)\@quepasa\.netfrag\.org/i) {
84 $self->jaccept("$MAILDIR/SORTED/logs/netfrag.org/system/quepasa.netfrag.org");
85 }
86 if ($incoming->from =~ /(root|service|netsaint)\@h1\.service\.netfrag\.org/i) {
87 $self->jaccept("$MAILDIR/SORTED/logs/netfrag.org/system/h1.service.netfrag.org");
88 }
89
90 mark();
91
92
93 mark();
94
95 # ----------------------------------------
96 # destination-routing - mailing-lists
97
98 $self->jaccept("$MAILDIR/SORTED/lists/archivists-talk")
99 if $to =~ /archivists-talk\@yahoogroups\.com/;
100
101 $self->jaccept("$MAILDIR/SORTED/lists/poop")
102 if $to eq 'poop-group@lists.sourceforge.net';
103
104 $self->jaccept("$MAILDIR/SORTED/lists/pear-dev")
105 if $to eq 'pear-dev@lists.php.net';
106
107 $self->jaccept("$MAILDIR/SORTED/lists/twiki-dev")
108 if $to eq 'twiki-dev@lists.sourceforge.net';
109
110 $self->jaccept("$MAILDIR/SORTED/lists/misc")
111 if $self->compareTarget('\@lists\.sourceforge\.net');
112
113 $self->jaccept("$MAILDIR/SORTED/lists/xml-dbms")
114 if $self->compareTarget('xml-dbms\@yahoogroups\.com');
115
116 $self->jaccept("$MAILDIR/SORTED/lists/mapi-l")
117 if $self->compareTarget('MAPI-L\@PEACH\.EASE\.LSOFT\.COM');
118
119 $self->jaccept("$MAILDIR/SORTED/lists/kroupware")
120 if $self->compareTarget('kroupware\@mail\.kde\.org');
121
122 mark();
123
124
125 # ----------------------------------------
126 # destination-routing - log-messages (logs)
127
128 $self->jaccept("$MAILDIR/SORTED/logs/netfrag.org/cvs")
129 if $subject =~ m/^cvs-log: /;
130 $self->jaccept("$MAILDIR/SORTED/logs/netfrag.org/cvs")
131 if $subject =~ m/^\[CVS (.+?)\]/;
132 $self->jaccept("$MAILDIR/SORTED/logs/netfrag.org/joko/cron")
133 if $subject =~ m/^Cron <(joko|joko_mail)\@quepasa.*>.*$/;
134 $self->jaccept("$MAILDIR/SORTED/logs/netfrag.org/system/applications")
135 if $subject =~ m/quepasa daily usenet report/;
136
137
138 # ----------------------------------------
139 # source && destination - routing
140 if (
141 $incoming->from =~ /andreas\.motl\@ilo\.de/
142 ||
143 $incoming->from =~ /joko.*\@netfrag\.org/
144 &&
145 $self->compareTarget('joko\@.*netfrag\.org')
146 ) {
147 $self->jaccept("$MAILDIR/SORTED/me2myself");
148 }
149
150 # ----------------------------------------
151 # source-routing - newsletters
152
153 $self->jaccept("$MAILDIR/SORTED/lists/newsletters")
154 if $from =~ /newsletter/;
155
156 # ----------------------------------------
157 # destination-routing - prio 1
158
159 $self->jaccept("$MAILDIR/SORTED/ilo.de/Inbox")
160 if ($self->compareTarget('andreas\.motl\@ilo\.de'));
161
162 $self->jaccept("$MAILDIR/SORTED/netfrag.org/Inbox")
163 if ($self->compareTarget('joko\@.*netfrag\.org'));
164
165 if ($incoming->to =~ /web\.de/i) {
166 $self->jaccept("$MAILDIR/SORTED/web.de/Current/Inbox");
167 }
168
169 # wor.net mailbox removed on 2002-11-13
170 #if ($incoming->to =~ /wor\.net/i) {
171 # $self->jaccept("$MAILDIR/SORTED/wor.net/Current/Inbox");
172 #}
173
174 mark();
175
176 # ----------------------------------------
177 # destination-routing - prio 2
178
179 my $bool_ilo = ($incoming->to =~ m/ilo\.de/i);
180 my $bool_ilo_news1 = ($incoming->to =~ m/kritletter\@kbx\.de/i);
181 my $bool_from_kolumnen_de = ($incoming->to =~ m/kolumnen\.de/i);
182 my $bool_from_strixner = ($incoming->to =~ m/strixner\@web\.de/i);
183 if ($bool_ilo || $bool_ilo_news1 || $bool_from_kolumnen_de || $bool_from_strixner) {
184 $self->jaccept("$MAILDIR/SORTED/ilo.de/Inbox");
185 }
186
187 #report("end of dispatcher");
188
189 $self->report("STATUS: No rule applied, ACCEPT using default TARGET.");
190 $self->jaccept("$MAILDIR/SORTED/misc/Inbox");
191
192 }
193
194 1;

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed