]> gitweb.pimeys.fr Git - config-20-100.git/blob - .procmailrc
Première version de .procmailrc
[config-20-100.git] / .procmailrc
1 ################################################################################
2 ### Still being tested. Use at your own risks… ###
3 ################################################################################
4
5 # .procmailrc générique mis à votre disposition
6 # par les gentils membres actifs du Cr@ns
7 # Vous pouvez l'utiliser, le redistribuer, le modifier à votre convenance.
8 # Des questions, des suggestions : {nounou,ca}@lists.crans.org
9 # Licence : WTFPL
10
11 # Les sections commentées par #~# sont des features qui ne sont pas activées
12 # par défaut. Sentez-vous libre de les décommenter pour les utiliser.
13
14 # Attention : le path par défaut des fichiers de logs est $HOME/.procmail/logs
15 # Assurez-vous que le dossier en question existe avant d'utiliser ce .procmailrc
16
17 #------------------------------------------------------------------------------
18 # Ce fichier commence par une grosse section de commentaire qui donne un aperçu
19 # de l'arborescence de dossiers qui sera obtenue en utilisant ce .procmailrc.
20 # Les règles ne sont pas dans le même ordre, en effet, il est plus efficace
21 # de mettre en premier les règles qui sont le plus souvent vérifiées pour
22 # diminuer le temps moyen de traitement.
23
24 # Vous pouvez ajouter vos propres règles de tri sans modifier ce fichier,
25 # en effet, ce .procmailrc inclus trois autres fichiers de règles
26 # (pour l'instant commentés par #~#)
27 # Ils doivent être tous les trois dans ${CONFIGDIR}
28 # * Le premier, custom.high.rules contient des règles qui overrident tout
29 #  le comportement ce .procmailrc,pour des mails qui doivent être classés
30 # sans autre condition.
31 # * Le deuxème, custom.normal.rules doit contenir la plupart de vos règles
32 # personnelles, il est géré après les mails envoyés par le Cr@ns mais avant
33 # le comportement par défaut des mailing-lists, ce qui vous permet d'en
34 # trier certaines selon un autre schéma
35 # * Le troisième, custom.final.rules est appliqué tout à la fin, il peut par
36 # exemple servir à définir un dossier par défaut autre que .INBOX
37
38
39
40 ################################################################################
41 ##### Commentaires #####
42 ################################################################################
43 #
44 # Les tags suivants expliquent quels membres actifs reçoivent quels mails :
45 # $: câbleur/imprimeur
46 # *: apprenti
47 # +: nounou
48 # B: bureau
49 # T: trésorier
50 # M: modérateur
51 # F: admin federez
52 #
53 ### /!\ pour cron, faire attention à ne pas envoyer les mails cron perso sur
54 ### zamok dans les dossiers cron !
55 ###
56 ### pour les ml : faire des sous-dossiers bounces --> IDEA DROPPED
57 ###
58 ### dans le main procmailrc : (ouais enfin finalement on met tout dans le même)
59 ### - le bidule pour trier les crons persos --> DONE
60 ### - le truc trop bien de Harry pour trier les ml du campus --> DONE
61 ###
62 ### Multi-déco upload dans un autre dossier --> DONE
63 #
64 # Cr@ns
65 # |
66 # ./|-[$*+BT] Administratif (le côté administratif : bot free !)
67 # ./| |
68 # ./| |-[$*+B] public
69 # ./| | |
70 # ./| | |-[$*+B] ca
71 # ./| | |-[+B] dsi-crans
72 # ./| | |-[*+B] install-party
73 # ./| | |-[B] crans-crous
74 # ./| |
75 # ./| |-[$*+BT] privé
76 # ./| |
77 # ./| |-[B] bureau
78 # ./| |-[T] trésorier
79 # ./| |-[$*+] respbats (bot free)
80 # ./| |-[$*+] impression (sans modif_solde, munin, print_status)
81 # ./| |-[+B] spoof
82 # ./| |-[+B] disconnect (sans les bots)
83 # ./|
84 # ./|
85 # ./|-[*+BF] Federez (bah, federez quoi !)
86 # ./| |
87 # ./| |-[*+B] federez
88 # ./| |-[F] admin
89 # ./| |-[(F)] monit
90 # ./|
91 # ./|
92 # ./|-[$*+BM] Surveillance (on stalke, pour vérifier ce que font les autres)
93 # ./| |
94 # ./| |-[+] Irrelevant : logcheck
95 # ./| |
96 # ./| |-[+BM] modérateur
97 # ./| |
98 # ./| |-[+] ovh (connexions au manager)
99 # ./| |
100 # ./| |-[*+] caméras (à trier)
101 # ./| |
102 # ./| |-[$*+] LDAP
103 # ./| | |
104 # ./| | |-[$*+] modif-solde
105 # ./| | |-[*+] modifications de la base ldap
106 # ./| |
107 # ./| |-[+] cranspasswords
108 # ./|
109 # ./|
110 # ./|-[*+] Monitoring (une machine fait-elle de la merde ?)
111 # ./| |
112 # ./| |-[*+] monit
113 # ./| | |
114 # ./| | |- trier dynamiquement par serveur !
115 # ./| |
116 # ./| |-[+] nagios
117 # ./| | |
118 # ./| | |- trier dynamiquement par serveur !
119 # ./| |
120 # ./| |-[$*+] munin
121 # ./| | |
122 # ./| | |-[$*+] impression
123 # ./| |
124 # ./| |-[+] arpwatch
125 # ./| | |
126 # ./| | |-[+] changed ethernet address
127 # ./| | |-[+] flip-flop
128 # ./| | |-[+] new_activity
129 # ./| | |-[+] new_station
130 # ./| |
131 # ./| |-[+B] stats d'upload --> À vérifier que le X-Mailer marche
132 # ./|
133 # ./|
134 # ./|-[$*+] Problèmes (à regarder avant d'aller se coucher)
135 # ./| |
136 # ./| |-[*+] self-sloving
137 # ./| | |
138 # ./| | |-[*+] SQL errors
139 # ./| | |-[+] ftp
140 # ./| |
141 # ./| |-[+] modéré
142 # ./| | |
143 # ./| | |-[+] intranet1
144 # ./| | |-[+] intranet2 (en fait, django en général)
145 # ./| | |-[*+] backuppc
146 # ./| |
147 # ./| |-[*+] attention (cron)
148 # ./| | |
149 # ./|  | |-[*+] à trier : roots/root ou par serveur
150 # ./| |
151 # ./| |-[*+] Argh
152 # ./| | |
153 # ./| | |-[*+] nols
154 # ./| | |-[*+] pulsar
155 # ./| |
156 # ./| |-[$*+] Humain
157 # ./| |
158 # ./| |-[$*+] print_status
159 # ./| |
160 # ./| |-[+] mailman
161 # ./| |
162 # ./| |-[B+] déco N fois en un mois
163 # ./|
164 # ./|
165 # ./|-[*+] Information (keep up to date)
166 # ./| |
167 # ./| |-[*+] apt-listchanges
168 # ./| |
169 # ./| |-[+] ovh (newsletters, factures)
170 # ./| |
171 # ./| |-[$*+] machines supprimées
172 # ./| |
173 # ./| |-[*+] git (commits)
174 # ./| | |
175 # ./| | |-[*+] what's new
176 # ./| |
177 # ./| |-[*+] darcs (records)
178 # ./| | |
179 # ./| | |-[*+] what's new
180 # ./| |
181 # ./| |-[+] bcfg2 (Serveurs non synchronisés avec bcfg2)
182 # ./| |
183 # ./| |-[+] inn (stats des servuers de news)
184 # ./|
185 # ./|
186 # ./|-[$*+B] Technique (les discussions et les trucs reliés)
187 # ./ |
188 # ./ |-[*+] Nounou
189 # ./ |
190 # ./ |-[*+] Roots
191 # ./ |
192 # ./ |-[$*+] câblages à effectuer
193 # ./ |
194 # ./ |-[*+B] tracker
195 #
196
197
198
199 ################################################################################
200 ##### Variables #####
201 ################################################################################
202
203 #################################################################
204 ## Variables d'environnement ##
205 #################################################################
206 # Path du dossier où sont rangés les mails
207 MAILDIR="${HOME}/Mail"
208 # Shell à utiliser pour exécuter des commandes
209 SHELL="/bin/bash"
210 # Dossier contenant tout le garbage procmail-related
211 # (le .procmailrc lui-même est dans le home)
212 PROCMAILDIR="${HOME}/.procmail"
213 # Dossier où sont les fichiers de configuration supplémentaires pour procmail
214 CONFIGDIR="${PROCMAILDIR}/rc"
215 # Path du fichier de log de procmail
216 LOGFILE="${PROCMAILDIR}/logs/procmail.log"
217
218
219 #################################################################
220 ## Noms de dossiers ##
221 #################################################################
222 # /Attention à ne pas mettre de . ou d'espace au mauvais endroit…/
223
224 ### Dossiers personnels
225 ## Dossier pour ranger les mails de Cron
226 ## (ceux envoyés par un serveur Cr@ns seront rangés ailleurs)
227 CRONPERSODIR=".Cron"
228
229 ## Dossier de Spam
230 SPAMDIR=".Spam"
231 # Spam reçu sur (usenet|news)@(crans.org|crans.ens-cachan.fr)
232 SPAMINNDIR="${SPAMDIR}.usenet"
233
234
235 ### Dossiers pour les MLs qui ne sont pas catchées par une autre règle
236 ## Dossier racine
237 MLDIR=".ML"
238
239 ### Dossiers pour les MLs du campus
240 MLCAMPUSDIR="${MLDIR}.Campus"
241 MLBDEDIR="${MLCAMPUSDIR}.BDE"
242 MLCLUBSDIR="${MLCAMPUSDIR}.Clubs"
243 MLMEDDIR="${MLCLUBSDIR}.Med"
244 MLBDLDIR="${MLCAMPUSDIR}.BDL"
245 MLBDADIR="${MLCAMPUSDIR}.BDA"
246 MLSDADIR="${MLCAMPUSDIR}.SDA"
247 MLGALADIR="${MLCAMPUSDIR}.Gala"
248 MLSONODIR="${MLCAMPUSDIR}.SoNo"
249
250 ## Dossier où atterrira une ML non-répertoriée
251 MLFAILSUFFIX="Fail"
252
253 ### Dossier pour les MLs de promo
254 MLPROMODIR="${MLDIR}.Promo"
255
256 ### Dossier pour les MLs non répertoriées plus haut et non-MA-crans
257 MLPERSODIR="${MLDIR}.Divers"
258
259 ### Dossiers pour les Membres Actifs du Cr@ns
260 ## Dossier racine
261 CRANSDIR=".Cr@ns"
262 ## Dossiers de mailing lists
263 CRANSADMINISTRATIFDIR="${CRANSDIR}.Administratif"
264 CRANSADMINISTRATIFPUBLICDIR="${CRANSADMINISTRATIFDIR}.public"
265 CRANSADMINISTRATIFPRIVATEDIR="${CRANSADMINISTRATIFDIR}.prive"
266
267 ## Dossiers pour les mails de monitoring
268 MONITORINGDIR="${CRANSDIR}.Monitoring"
269 MONITDIR="${MONITORINGDIR}.Monit"
270 NAGIOSDIR="${MONITORINGDIR}.Nagios"
271 NAGIOSSWITCHSDIR="${NAGIOSDIR}.0-switchs"
272 ARPWATCHDIR="${MONITORINGDIR}.Arpwatch"
273 MUNINDIR="${MONITORINGDIR}.Munin"
274 MUNINIMPRESSIONDIR="${MUNINDIR}.Imprimante"
275 STATUPLOADDIR="${MONITORINGDIR}.Stats-upload"
276
277 ## Dossiers pour le mails concernant des "problèmes"
278 # Racine
279 PROBLEMSDIR="${CRANSDIR}.Problems"
280 # Par ordre de gravité croissant
281 SELFSOLVINGDIR="${PROBLEMSDIR}.0-Self-solving"
282 SOFTDIR="${PROBLEMSDIR}.1-Soft"
283 WILDDIR="${PROBLEMSDIR}.2-Wild"
284 ARGHDIR="${PROBLEMSDIR}.3-Argh"
285 HUMANPROBLEMSDIR="${PROBLEMSDIR}.4-Human-made"
286 # Sous-dossiers
287 FTPDIR="${SELFSOLVINGDIR}.ftp"
288 SQLGREYDIR="${SELFSOLVINGDIR}.sql-errors"
289 BACKUPPCDIR="${SOFTDIR}.backuppc"
290 DJANGODIR="${SOFTDIR}.Django"
291 INTRANET2DIR="${SOFTDIR}.Intranet2"
292 INTRANET1DIR="${SOFTDIR}.intranet-bugreport"
293 CRONDIR="${WILDDIR}.cron"
294 NOLSDIR="${ARGHDIR}.nols"
295 PULSARDIR="${ARGHDIR}.pulsar"
296 MAILMANDIR="${HUMANPROBLEMSDIR}.Mailman"
297 PRINTSTATUSDIR="${HUMANPROBLEMSDIR}.print_status"
298 MULTIDECODIR="${HUMANPROBLEMSDIR}.multi-deco"
299
300 ## Dossier de surveillance (= surveillance d'actions humaines)
301 # Racine
302 SURVEILLANCEDIR="${CRANSDIR}.Surveillance"
303 # Par ordre de sensibilité croissant
304 LOGCHECKDIR="${SURVEILLANCEDIR}.0-logcheck"
305 MODERATEURSDIR="${SURVEILLANCEDIR}.1-Moderateurs"
306 OVHMANAGERDIR="${SURVEILLANCEDIR}.2-OVH"
307 CAMERASDIR="${SURVEILLANCEDIR}.3-Cameras"
308 LDAPDIR="${SURVEILLANCEDIR}.4-LDAP"
309 LDAPSOLDEDIR="${LDAPDIR}.Solde"
310 LDAPMODIFDIR="${LDAPDIR}.Modification"
311 CRANSPASSWORDSDIR="${SURVEILLANCEDIR}.5-cranspasswords"
312
313 ## Dossier informatif (= pour se tenir au courant de ce qui se passe au Cr@ns)
314 # Racine
315 INFORMATIONDIR="${CRANSDIR}.Information"
316 # Mails d'ovh autre que les notifications de connexion au manager
317 OVHDIR="${INFORMATIONDIR}.OVH"
318 # apt-listchanges
319 APTLISTCHANGESDIR="${INFORMATIONDIR}.apt-listchanges"
320 # Machines supprimées pour chambre invalide
321 DELETEDMACHINES="${INFORMATIONDIR}.machines_supprimees"
322 # Repositories
323 GITDIR="${INFORMATIONDIR}.git"
324 DARCSDIR="${INFORMATIONDIR}.darcs"
325 # Mail envoyé quotidiennement par bcfg2 avec la liste des serveurs non synchro
326 BCFG2DIR="${INFORMATIONDIR}.bcfg2"
327 # Statistiques des serveurs de news
328 INNDIR="${INFORMATIONDIR}.inn"
329
330 ## Dossier de discussion techniques
331 # Racine
332 TECHNIQUEDIR="${CRANSDIR}.Technique"
333 # Mails de roots@ non catchées avant
334 ROOTSDIR="${TECHNIQUEDIR}.roots"
335 # Mails de câblages demandé/effectué
336 CABLAGEDIR="${TECHNIQUEDIR}.Cablages"
337 # Mails du tracker
338 TRACKERDIR="${TECHNIQUEDIR}.Tracker"
339 # Mails de la ML nounou
340 NOUNOUDIR="${TECHNIQUEDIR}.Nounou"
341 # Messages laissés sur la Freebox
342 FREEBOXDIR="${TECHNIQUEDIR}.Freebox"
343 # Dossier où atterriront les mails de root@ non triés
344 ROOTDEFAULTDIR="${TECHNIQUEDIR}.root"
345
346 ### Dossier racine pour Federez
347 FEDEREZDIR="${CRANS_FOLDER}.FedeRez"
348 FEDEREZMONITDIR="${FEDEREZDIR}.Monit"
349
350
351
352 ################################################################################
353 ##### Règles #####
354 ################################################################################
355
356 #~# # Patch pour traiter les mails qui ont été
357 #~# # reçus avant le 30/06/13, car certaines règles de tri du .procmailrc
358 #~# # n'étaient pas encore valables à l'époque.
359 #~# # très utile si on veut retrier tous ses mails
360 #~# INCLUDERC="${CONFIGDIR}/retrocompatibility_patch.rules"
361
362 #~# # Fichier de règles prioritaires à personnaliser
363 #~# INCLUDERC="${CONFIGDIR}/custom.high.rules"
364
365 #################################################################
366 ## Gestion des mails d'Arpwatch ##
367 #################################################################
368 :0
369 * ^From:.*arpwatch@crans\.org
370 {
371 # On trie les différents types de mails d'Arpwatch,
372 # en faisant attention aux . et aux espaces après avoir éliminé
373 # tout ce qui se trouve après " (".
374 :0
375 * ^Subject: \/.* \(
376 {
377 TYPE=`echo $MATCH | sed 's/ (.*//;s/\( \|\.\)/_/g;'`
378 :0
379 ${ARPWATCHDIR}.${TYPE}/
380 }
381
382 :0
383 ${ARPWATCHDIR}/
384 }
385
386
387 #################################################################
388 ## Gestion des mails de Monit ##
389 #################################################################
390
391 # Les mails de Monit à propos du serveur A sont envoyés dans le dossier
392 # ${MONITDIR}.A/ si le dossier n'existe pas, il est créé mais il
393 # faut encore s'y abonner...
394 :0
395 * ^(X-Mailer|User-Agent):.*monit
396 {
397 # Avant de tester les hotsnames Cr@ns, règle spéciale utile pour
398 # certains admin de FedeRez
399 :0
400 * ^To: federez-monit@
401 ${FEDEREZMONITDIR}/
402
403 :0
404 * ^Subject:.*monit \/[^ \.]+
405 ${MONITDIR}.${MATCH}/
406
407 # Dossier de Monit par défaut, si Monit se met à envoyer d'autres mails
408 :0
409 ${MONITDIR}/
410 }
411
412
413 #################################################################
414 ## Gestion des mails de Nagios ##
415 #################################################################
416
417 # Les mails de Nagios à propos du serveur A sont envoyés dans le dossier
418 # ${NAGIOSDIR}.A/ si le dossier n'existe pas, il est créé mais il
419 # faut encore s'y abonner
420 :0
421 * ^(From: nagios@crans\.org|User-Agent:.*nagios)
422 {
423 # Tous les switchs vont dans le dossier ${NAGIOSSWITCH}
424 :0
425 * ^Subject:.*Alert: bat[^/]+-
426 ${NAGIOSSWITCHSDIR}/
427
428 # Chaque serveur a son dossier
429 :0
430 * ^Subject:.*Alert: \/[^/\.]+
431 ${NAGIOSDIR}.${MATCH}/
432
433 # Si l'envie prenait à Nagios de raconter un peu plus sa vie
434 :0
435 ${NAGIOSDIR}/
436 }
437
438
439 #################################################################
440 ## Gestion des mails de Cron ##
441 #################################################################
442
443 # Attention, si on enlève la ligne qui filtre sur le To:, on catche
444 # aussi tous les mails Cron qui ne sont pas envoyés par un serveur Cr@ns
445 :0
446 * ^To:.*(roots?|postgres|www-data|list)@crans\.org
447 * ^(X-Cron-Env|From: Anacron)
448 {
449 #~# # Par défaut, on ne trie pas les mails de Cron, pensez à décommenter
450 #~# # le INCLUDERC (et à copier le fichier complémentaire) pour les trier
451 #~# INCLUDERC=${CONFIGDIR}/cron.rules
452
453 :0
454 ${CRONDIR}/
455 }
456
457
458 #################################################################
459 ## Gestion des mails de root@crans.org ##
460 #################################################################
461
462 # Statistiques du serveur de news
463 # Désolidarisé du bloc root@crans.org pour séparer les spams
464 # sans qu'ils tombent dans ${ROOTDEFAULTDIR}
465 :0
466 * ^To:.*(usenet|news)@(crans\.org|crans\.ens-cachan\.fr)
467 {
468 # L'intérêt c'est que plein de spam arrive sur ces addresses
469 # et seules les stats d'inn sont censées y arriver.
470 # Donc on peut bazarder tout ce qui n'est pas stat au Spam
471 :0
472 * ^From: news@crans.org
473 ${INNDIR}/
474
475 :0
476 ${SPAMINNDIR}/
477 }
478
479 # On matche tous les alias de root@crans.org
480 :0
481 * ^(To|Cc): .*(root|abuse|amavis|backup|bind|bin|clamav|daemon|ftpadm|ftpmaster|ftp-mirror|ftp|games|gnats|irc|list|logcheck|lp|mail|majordom|man|msql|munin|news|operator|postgres|proxy|sync|sys|usenet|uucp|webmaster|www-clubs|www-data|www-perso|postmaster|mailer-daemon)@crans\.org
482 {
483 # Spam de logcheck
484 :0
485 * ^From:.*logcheck@crans\.org
486 ${LOGCHECKDIR}/
487
488 # Mails envoyés par munin quand il trouve qu'un graphe sort des limites
489 :0
490 * ^From: munin@crans\.org
491 ${MUNINDIR}/
492
493 # Mails envoyés en cas d'erreur de synchronisation du ftp
494 :0
495 * ^From: mirror@crans\.org
496 ${FTPDIR}/
497
498 # Mails envoyés en cas d'erreur sur l'intranet2
499 :0
500 * ^Subject: \[Intranet2 Cr@ns\]
501 ${INTRANET2DIR}/
502
503 # Mails envoyés en cas d'une autre erreur Django
504 :0
505 * ^Subject: \[Django\]
506 ${DJANGODIR}/
507
508 # Mails envoyés lors de la modification d'un fichier de mot de passe
509 :0
510 * ^X-Mailer: cranspasswords
511 ${CRANSPASSWORDSDIR}/
512
513 # Mails envoyés par OVH…
514 :0
515 * ^From:.*support@ovh\.com
516 {
517 # …lors d'une connexion au manager
518 :0
519 * ^X-Ovh-Template: nic/fr/loginNotification.model
520 ${OVHMANAGERDIR}/
521
522 # Pour autre chose (facture, newsletter)
523 :0
524 ${OVHDIR}/
525 }
526
527 # Mail envoyés par apt-listchanges lors d'une mise à jour
528 :0
529 * ^Subject:.*apt-listchanges
530 ${APTLISTCHANGESDIR}/
531
532 # Serveurs non synchronisés avec bcfg2
533 :0
534 * ^X-Mailer: bcfg2-reports
535 ${BCFG2DIR}/
536
537 # Tout ce qui traîne sur root et qui n'est pas catché par quelque chose
538 :0
539 ${ROOTDEFAULTDIR}/
540 }
541
542
543 #################################################################
544 ## Gestion des mails de roots@crans.org ##
545 #################################################################
546
547 :0
548 * ^(To|Cc|List-Id):.*roots(@|\.lists\.)crans\.org
549 {
550 # Il y a aussi des apt-listchanges sur roots@
551 :0
552 * ^Subject:.*apt-listchanges
553 ${APTLISTCHANGESDIR}/
554
555 # Mails envoyés par la baie de disques
556 :0
557 * ^From: nols@crans\.org
558 ${NOLSDIR}/
559
560 # Mails envoyés par l'onduleur
561 :0
562 * ^From: pulsar@adm\.crans\.org
563 ${PULSARDIR}/
564
565 # Mails envoyés par le script qui détecte les changements dans la base LDAP
566 :0
567 * ^Subject:.*Surveillance modifications de la base LDAP
568 ${LDAPMODIFDIR}/
569
570 # Mails envoyés lors d'une erreur sur la base de donnée sqlgrey
571 :0
572 * ^From: sqlgrey@crans\.org
573 ${SQLGREYDIR}/
574
575 # Mails envoyés par backuppc
576 :0
577 * ^From: backuppc@crans\.org
578 ${BACKUPPCDIR}/
579
580 # Souriez, vous êtes photographiés
581 :0
582 * ^From:.*cameras@crans\.org
583 {
584 # On trie par lieu de la caméra
585 :0
586 * ^Subject:.*0B
587 ${CAMERASDIR}.0B/
588
589 :0
590 * ^Subject:.*0H
591 ${CAMERASDIR}.0H/
592 }
593
594 # I'm in your mailbox, watching your commits
595 # Attention à bien filtrer git avant darcs parce que les mails git
596 # contiennent aussi le header X-DarcsInfo !
597 :0
598 * ^X-GitInfo
599 {
600 :0
601 * ^X-Mailer: /usr/scripts/utils/git-whatsnew
602 ${GITDIR}.whatsnew/
603
604 :0
605 ${GITDIR}/
606 }
607 :0
608 * ^X-DarcsInfo
609 {
610 :0
611 * ^X-Mailer: Python Darcs Check
612 ${DARCSDIR}.whatsnew/
613
614 :0
615 ${DARCSDIR}/
616 }
617
618 # Tracker
619 :0
620 * ^X-Mailer:.*Redmine
621 ${TRACKERDIR}/
622
623 # Messages sur la Freebox
624 :0
625 * ^From: telephonie.freebox@freetelecom.fr
626 ${FREEBOXDIR}/
627
628 # Si il n'y pas de condition de tri, ça va dans le dossier Technique
629 :0
630 ${ROOTSDIR}/
631 }
632
633
634 #################################################################
635 ## Mails envoyés sur des MLs mais par des bots ##
636 #################################################################
637 # Il n'y jamais de dossier par défaut, le mail sera rattrapé
638 # au moment de la gestion gobale des mailing-lists
639
640 # Sur la ML disconnect@
641 :0
642 * ^List-Id:.*disconnect\.lists\.crans\.org
643 {
644 # Statistiques d'upload
645 :0
646 * ^X-Mailer: /usr/scripts/surveillance/statistiques.py
647 ${STATUPLOADDIR}/
648
649 :0
650 * ^Subject:.*fois.*en un mois
651 ${MULTIDECODIR}/
652 }
653
654 # Câblage demandé/effectué
655 :0
656 * ^X-Crans-Intranet: cablage
657 ${CABLAGEDIR}/
658
659 # Sur la ML impression@
660 :0
661 * ^List-Id:.*impression\.lists\.crans\.org
662 {
663 # Modification de solde
664 :0
665 * ^X-Mailer: modif_solde
666 ${LDAPSOLDEDIR}/
667
668 # Informations de print_status
669 :0
670 * ^X-Mailer: /usr/scripts/impression/print_status.py
671 ${PRINTSTATUSDIR}/
672
673 # Munin stock papier et toners
674 :0
675 * ^From: munin@crans\.org
676 ${MUNINIMPRESSIONDIR}/
677 }
678
679 # Sur la ML respbats@
680 :0
681 * ^List-Id:.*respbats\.lists\.crans\.org
682 {
683 # Machines supprimées pour chambre invalide
684 :0
685 * ^X-Mailer: /usr/scripts/gestion/chambres_vides.py
686 ${DELETEDMACHINES}/
687 }
688
689 #WIP# ###############################################################################
690 #WIP# # ^^^^^^^ Classés le plus possible par ordre de spammage décroissant
691
692 #WIP# # vvvvvvv Les MLs, à laisser en bas
693 #WIP# ###############################################################################
694
695
696 #################################################################
697 ## Gestion des cron perso ##
698 #################################################################
699 # Les Subjects des mails de (Ana)?Cron
700 # sont de la forme "(Ana)?Cron <user@host>"
701 # On parse pour récupérer le host et trier avec
702 :0
703 * ^(X-Cron-Env|From: Anacron)
704 {
705 :0
706 * ^Subject:.*Cron <[^@>]+@\/[^>]+
707 {
708 # On prend garde à ne pas créer un sous-dossier
709 # si jamais le host contient un . ou un espace
710 HOST_=`echo "$MATCH" | sed 's/\(\.\| \)/_/g'`
711 :0
712 ${CRONPERSODIR}.${HOST_}/
713 }
714
715 # Dans le cas (improbable) où le Subject de matche pas
716 :0
717 ${CRONPERSODIR}/
718 }
719
720
721 #################################################################
722 ## Inclusion des règles personnelles ##
723 #################################################################
724 #~# # Fichier de règles à personnaliser
725 #~# INCLUDERC="${CONFIGDIR}/custom.normal.rules"
726
727 #################################################################
728 ## Gestion des mails de Mailman ##
729 #################################################################
730 # La ML mailman@ est un peu particulière
731 :0
732 * ^(List-Id:.*mailman\.|(To|Cc):.*mailman-(owner|bounces)@)lists\.crans\.org
733 ${MAILMANDIR}/
734
735
736 #################################################################
737 ## Gestion des mailing-listes ##
738 #################################################################
739 # Ajouter à la suite vos propres règles pour les mailing-listes non gérées ici
740
741 :0
742 # On récupère tous les mails qui sont arrivés par l'intermédaire d'une ML
743 * ^List-Id:.*\/<[^<>]+>$
744 {
745 ML=$MATCH
746 ML=`echo "${ML}" | sed 's/<//;s/>//'`
747
748 #################################################################
749 ## Gestion des mailing-listes Cr@ns ##
750 #################################################################
751 :0
752 * ^List-Id:.*lists\.crans\.org
753 {
754 # On veut ne garder que le nom de la ML sans le nom de domaine
755 ML=`echo "${ML}" | sed 's/\.lists\.crans\.org//'`
756 # On prend garde à ne pas créer un sous-dossier
757 # si jamais le List-Id contient un . ou un espace
758 ML_=`echo "${ML}" | sed 's/\(\.\| \)/_/g'`
759
760 #################################################################
761 ## Cas où la ML est une ML de membre actif du Cr@ns ##
762 #################################################################
763
764 # MLs publiques (au sens où il n'y a pas que des cranseux abonnés)
765 :0
766 * ? grep "^${ML}$" ${CONFIGDIR}/ML_MA_crans.administratif.public
767 ${CRANSADMINISTRATIFPUBLICDIR}.${ML_}/
768
769 # MLS où il n'y a que des membres actifs abonnés
770 # (on peut y envoyer des informations privées)
771 :0
772 * ? grep "^${ML}$" ${CONFIGDIR}/ML_MA_crans.administratif.prive
773 ${CRANSADMINISTRATIFPRIVATEDIR}.${ML_}/
774
775 # La ML federez@lists.crans.org va quand même dans le dossier FedeRez
776 :0
777 * ? echo "${ML}" | grep federez
778 ${FEDEREZDIR}.${ML_}/
779
780 # La ML modérateurs va dans le dossier Surveillance
781 :0
782 * ^List-Id:.*moderateurs\.lists\.crans\.org
783 ${MODERATEURSDIR}/
784
785 # La ML intranet-bugreport va dans le dossier Problèmes
786 :0
787 * ^List-Id:.*intranet-bugreport\.lists\.crans\.org
788 ${INTRANET1DIR}/
789
790 # La ML nounou va dans le dossier Technique
791 :0
792 * ^List-Id:.*nounou\.lists\.crans\.org
793 ${NOUNOUDIR}/
794
795 #################################################################
796 ## Gestion des autres mailing-list (du campus) ##
797 #################################################################
798 # MLs génériques du campus (des assos et d'autres random trucs)
799 :0
800 * ? grep "^${ML}$" ${CONFIGDIR}/ML_campus
801 ${MLCAMPUSDIR}.${ML_}/
802
803 # MLs BDE
804 :0
805 * ? echo "${ML}" | grep bde
806 ${MLBDEDIR}.${ML_}/
807
808 # MLs BDA
809 :0
810 * ? (grep "^${ML}$" ${CONFIGDIR}/ML_bda) || (echo "${ML}" | grep bda)
811 ${MLBDADIR}.${ML_}/
812
813 # MLs SoNo
814 :0
815 * ? (grep "^${ML}$" ${CONFIGDIR}/ML_sono) || (echo "${ML}" | grep sono)
816 ${MLBDADIR}.${ML_}/
817
818 # MLs Med
819 :0
820 * ? echo "${ML}" | grep med
821 ${MLMEDDIR}.${ML_}/
822
823 # MLs SDA
824 :0
825 * ? echo "${ML}" | grep sda
826 ${MLSDADIR}.${ML_}/
827
828 # MLs BDL
829 :0
830 * ? echo "${ML}" | egrep "(bdl|interludes)"
831 ${MLBDLDIR}.${ML_}/
832
833 # MLs Gala
834 :0
835 * ? echo "${ML}" | egrep "(gala|geec)"
836 ${MLGALADIR}.${ML_}/
837
838 # MLs des clubs
839 :0
840 * ? (grep "^${ML}$" ${CONFIGDIR}/ML_clubs) || (echo "${ML}" | egrep '^club-')
841 ${MLCLUBSDIR}.${ML_}/
842
843 #################################################################
844 ## Gestion des MLs de promo ##
845 #################################################################
846 :0
847 * ? echo "${ML}" | egrep '^(ens-|a\.coeur)'
848 ${MLPROMODIR}.${ML_}/
849
850 #################################################################
851 ## Gestion des MLs perso ##
852 #################################################################
853 :0
854 * ? grep "^${ML}$" ${CONFIGDIR}/ML_perso
855 ${MLPERSODIR}.${ML_}/
856
857 # Si on est tombés sur un ML non-répertoriée
858 :0
859 ${MLCAMPUSDIR}.${MLFAILSUFFIX}.${ML_}/
860 }
861
862 #################################################################
863 ## Gestion des mailing-listes FedeRez ##
864 #################################################################
865 # On veut ne garder que le nom de la ML sans le nom de domaine
866 ML=`echo "${ML}" | sed 's/\.lists\.federez\.net//'`
867 # On prend garde à ne pas créer un sous-dossier
868 # si jamais le List-Id contient un . ou un espace
869 ML_=`echo "${ML}" | sed 's/\(\.\| \)/_/g'`
870
871 :0
872 * ^List-Id:.*lists.federez.net
873 {
874 :0
875 ${FEDEREZDIR}.${ML_}/
876 }
877
878 #################################################################
879 ## Gestion des autres mailing-listes ##
880 #################################################################
881 # On récupère le nom de domaine et le nom de la ML
882 DOMAIN=`echo "${ML}" | sed 's/.*\.\([^\.]\+\)\.[^\.]\+$/\1/'`
883 # On ne sait jamais ce qu'on peut rencontrer…
884 DOMAIN_=`echo "${DOMAIN}" | sed 's/ /_/g'`
885 # On prend garde à ne pas créer un sous-dossier
886 # si jamais le List-Id contient un . ou un espace
887 ML_=`echo "${ML}" | sed 's/\.[^\.]\+\.[^\.]\+$//;s/\.lists\?$//;s/\(\.\| \)/_/g'`
888 :0
889 ${MLDIR}.${DOMAIN_}.${ML_}/
890 }
891
892 #~# # Fichier de règles de faible priorité à personnaliser
893 #~# INCLUDERC="${CONFIGDIR}/custom.final.rules"