]> gitweb.pimeys.fr Git - config-20-100.git/blob - .procmailrc
[.procmailrc] On trie dans un dossier particulier les rappels de mots de passe des...
[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 ## Dossier pour ranger les rappels de mots de passes envoyés par Mailman
239 RAPPELMDPDIR="${MLDIR}.rappels_mdp"
240
241
242 ### Dossiers pour les MLs du campus
243 MLCAMPUSDIR="${MLDIR}.Campus"
244 MLBDEDIR="${MLCAMPUSDIR}.BDE"
245 MLCLUBSDIR="${MLCAMPUSDIR}.Clubs"
246 MLMEDDIR="${MLCLUBSDIR}.Med"
247 MLBDLDIR="${MLCAMPUSDIR}.BDL"
248 MLBDADIR="${MLCAMPUSDIR}.BDA"
249 MLSDADIR="${MLCAMPUSDIR}.SDA"
250 MLGALADIR="${MLCAMPUSDIR}.Gala"
251 MLSONODIR="${MLCAMPUSDIR}.SoNo"
252
253 ## Dossier où atterrira une ML non-répertoriée
254 MLFAILSUFFIX="Fail"
255
256 ### Dossier pour les MLs de promo
257 MLPROMODIR="${MLDIR}.Promo"
258
259 ### Dossier pour les MLs non répertoriées plus haut et non-MA-crans
260 MLPERSODIR="${MLDIR}.Divers"
261
262 ### Dossiers pour les Membres Actifs du Cr@ns
263 ## Dossier racine
264 CRANSDIR=".Cr@ns"
265 ## Dossiers de mailing lists
266 CRANSADMINISTRATIFDIR="${CRANSDIR}.Administratif"
267 CRANSADMINISTRATIFPUBLICDIR="${CRANSADMINISTRATIFDIR}.public"
268 CRANSADMINISTRATIFPRIVATEDIR="${CRANSADMINISTRATIFDIR}.prive"
269
270 ## Dossiers pour les mails de monitoring
271 MONITORINGDIR="${CRANSDIR}.Monitoring"
272 MONITDIR="${MONITORINGDIR}.Monit"
273 NAGIOSDIR="${MONITORINGDIR}.Nagios"
274 NAGIOSSWITCHSDIR="${NAGIOSDIR}.0-switchs"
275 ARPWATCHDIR="${MONITORINGDIR}.Arpwatch"
276 MUNINDIR="${MONITORINGDIR}.Munin"
277 MUNINIMPRESSIONDIR="${MUNINDIR}.Imprimante"
278 STATUPLOADDIR="${MONITORINGDIR}.Stats-upload"
279
280 ## Dossiers pour le mails concernant des "problèmes"
281 # Racine
282 PROBLEMSDIR="${CRANSDIR}.Problems"
283 # Par ordre de gravité croissant
284 SELFSOLVINGDIR="${PROBLEMSDIR}.0-Self-solving"
285 SOFTDIR="${PROBLEMSDIR}.1-Soft"
286 WILDDIR="${PROBLEMSDIR}.2-Wild"
287 ARGHDIR="${PROBLEMSDIR}.3-Argh"
288 HUMANPROBLEMSDIR="${PROBLEMSDIR}.4-Human-made"
289 # Sous-dossiers
290 FTPDIR="${SELFSOLVINGDIR}.ftp"
291 SQLGREYDIR="${SELFSOLVINGDIR}.sql-errors"
292 BACKUPPCDIR="${SOFTDIR}.backuppc"
293 DJANGODIR="${SOFTDIR}.Django"
294 INTRANET2DIR="${SOFTDIR}.Intranet2"
295 INTRANET1DIR="${SOFTDIR}.intranet-bugreport"
296 CRONDIR="${WILDDIR}.cron"
297 NOLSDIR="${ARGHDIR}.nols"
298 PULSARDIR="${ARGHDIR}.pulsar"
299 MAILMANDIR="${HUMANPROBLEMSDIR}.Mailman"
300 PRINTSTATUSDIR="${HUMANPROBLEMSDIR}.print_status"
301 MULTIDECODIR="${HUMANPROBLEMSDIR}.multi-deco"
302
303 ## Dossier de surveillance (= surveillance d'actions humaines)
304 # Racine
305 SURVEILLANCEDIR="${CRANSDIR}.Surveillance"
306 # Par ordre de sensibilité croissant
307 LOGCHECKDIR="${SURVEILLANCEDIR}.0-logcheck"
308 MODERATEURSDIR="${SURVEILLANCEDIR}.1-Moderateurs"
309 OVHMANAGERDIR="${SURVEILLANCEDIR}.2-OVH"
310 CAMERASDIR="${SURVEILLANCEDIR}.3-Cameras"
311 LDAPDIR="${SURVEILLANCEDIR}.4-LDAP"
312 LDAPSOLDEDIR="${LDAPDIR}.Solde"
313 LDAPMODIFDIR="${LDAPDIR}.Modification"
314 CRANSPASSWORDSDIR="${SURVEILLANCEDIR}.5-cranspasswords"
315
316 ## Dossier informatif (= pour se tenir au courant de ce qui se passe au Cr@ns)
317 # Racine
318 INFORMATIONDIR="${CRANSDIR}.Information"
319 # Mails d'ovh autre que les notifications de connexion au manager
320 OVHDIR="${INFORMATIONDIR}.OVH"
321 # apt-listchanges
322 APTLISTCHANGESDIR="${INFORMATIONDIR}.apt-listchanges"
323 # Machines supprimées pour chambre invalide
324 DELETEDMACHINES="${INFORMATIONDIR}.machines_supprimees"
325 # Repositories
326 GITDIR="${INFORMATIONDIR}.git"
327 DARCSDIR="${INFORMATIONDIR}.darcs"
328 # Mail envoyé quotidiennement par bcfg2 avec la liste des serveurs non synchro
329 BCFG2DIR="${INFORMATIONDIR}.bcfg2"
330 # Statistiques des serveurs de news
331 INNDIR="${INFORMATIONDIR}.inn"
332
333 ## Dossier de discussion techniques
334 # Racine
335 TECHNIQUEDIR="${CRANSDIR}.Technique"
336 # Mails de roots@ non catchées avant
337 ROOTSDIR="${TECHNIQUEDIR}.roots"
338 # Mails de câblages demandé/effectué
339 CABLAGEDIR="${TECHNIQUEDIR}.Cablages"
340 # Mails du tracker
341 TRACKERDIR="${TECHNIQUEDIR}.Tracker"
342 # Mails de la ML nounou
343 NOUNOUDIR="${TECHNIQUEDIR}.Nounou"
344 # Messages laissés sur la Freebox
345 FREEBOXDIR="${TECHNIQUEDIR}.Freebox"
346 # Dossier où atterriront les mails de root@ non triés
347 ROOTDEFAULTDIR="${TECHNIQUEDIR}.root"
348
349 ### Dossier racine pour Federez
350 FEDEREZDIR="${CRANS_FOLDER}.FedeRez"
351 FEDEREZMONITDIR="${FEDEREZDIR}.Monit"
352
353
354
355 ################################################################################
356 ##### Règles #####
357 ################################################################################
358
359 #~# # Patch pour traiter les mails qui ont été
360 #~# # reçus avant le 30/06/13, car certaines règles de tri du .procmailrc
361 #~# # n'étaient pas encore valables à l'époque.
362 #~# # très utile si on veut retrier tous ses mails
363 #~# INCLUDERC="${CONFIGDIR}/retrocompatibility_patch.rules"
364
365 #~# # Fichier de règles prioritaires à personnaliser
366 #~# INCLUDERC="${CONFIGDIR}/custom.high.rules"
367
368 #################################################################
369 ## Gestion des mails d'Arpwatch ##
370 #################################################################
371 :0
372 * ^From:.*arpwatch@crans\.org
373 {
374 # On trie les différents types de mails d'Arpwatch,
375 # en faisant attention aux . et aux espaces après avoir éliminé
376 # tout ce qui se trouve après " (".
377 :0
378 * ^Subject: \/.* \(
379 {
380 TYPE=`echo $MATCH | sed 's/ (.*//;s/\( \|\.\)/_/g;'`
381 :0
382 ${ARPWATCHDIR}.${TYPE}/
383 }
384
385 :0
386 ${ARPWATCHDIR}/
387 }
388
389
390 #################################################################
391 ## Gestion des mails de Monit ##
392 #################################################################
393
394 # Les mails de Monit à propos du serveur A sont envoyés dans le dossier
395 # ${MONITDIR}.A/ si le dossier n'existe pas, il est créé mais il
396 # faut encore s'y abonner...
397 :0
398 * ^(X-Mailer|User-Agent):.*monit
399 {
400 # Avant de tester les hotsnames Cr@ns, règle spéciale utile pour
401 # certains admin de FedeRez
402 :0
403 * ^To: federez-monit@
404 ${FEDEREZMONITDIR}/
405
406 :0
407 * ^Subject:.*monit \/[^ \.]+
408 ${MONITDIR}.${MATCH}/
409
410 # Dossier de Monit par défaut, si Monit se met à envoyer d'autres mails
411 :0
412 ${MONITDIR}/
413 }
414
415
416 #################################################################
417 ## Gestion des mails de Nagios ##
418 #################################################################
419
420 # Les mails de Nagios à propos du serveur A sont envoyés dans le dossier
421 # ${NAGIOSDIR}.A/ si le dossier n'existe pas, il est créé mais il
422 # faut encore s'y abonner
423 :0
424 * ^(From: nagios@crans\.org|User-Agent:.*nagios)
425 {
426 # Tous les switchs vont dans le dossier ${NAGIOSSWITCH}
427 :0
428 * ^Subject:.*Alert: bat[^/]+-
429 ${NAGIOSSWITCHSDIR}/
430
431 # Chaque serveur a son dossier
432 :0
433 * ^Subject:.*Alert: \/[^/\.]+
434 ${NAGIOSDIR}.${MATCH}/
435
436 # Si l'envie prenait à Nagios de raconter un peu plus sa vie
437 :0
438 ${NAGIOSDIR}/
439 }
440
441
442 #################################################################
443 ## Gestion des mails de Cron ##
444 #################################################################
445
446 # Attention, si on enlève la ligne qui filtre sur le To:, on catche
447 # aussi tous les mails Cron qui ne sont pas envoyés par un serveur Cr@ns
448 :0
449 * ^To:.*(roots?|postgres|www-data|list)@crans\.org
450 * ^(X-Cron-Env|From: Anacron)
451 {
452 #~# # Par défaut, on ne trie pas les mails de Cron, pensez à décommenter
453 #~# # le INCLUDERC (et à copier le fichier complémentaire) pour les trier
454 #~# INCLUDERC=${CONFIGDIR}/cron.rules
455
456 :0
457 ${CRONDIR}/
458 }
459
460
461 #################################################################
462 ## Gestion des mails de root@crans.org ##
463 #################################################################
464
465 # Statistiques du serveur de news
466 # Désolidarisé du bloc root@crans.org pour séparer les spams
467 # sans qu'ils tombent dans ${ROOTDEFAULTDIR}
468 :0
469 * ^To:.*(usenet|news)@(crans\.org|crans\.ens-cachan\.fr)
470 {
471 # L'intérêt c'est que plein de spam arrive sur ces addresses
472 # et seules les stats d'inn sont censées y arriver.
473 # Donc on peut bazarder tout ce qui n'est pas stat au Spam
474 :0
475 * ^From: news@crans.org
476 ${INNDIR}/
477
478 :0
479 ${SPAMINNDIR}/
480 }
481
482 # On matche tous les alias de root@crans.org
483 :0
484 * ^(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
485 {
486 # Spam de logcheck
487 :0
488 * ^From:.*logcheck@crans\.org
489 ${LOGCHECKDIR}/
490
491 # Mails envoyés par munin quand il trouve qu'un graphe sort des limites
492 :0
493 * ^From: munin@crans\.org
494 ${MUNINDIR}/
495
496 # Mails envoyés en cas d'erreur de synchronisation du ftp
497 :0
498 * ^From: mirror@crans\.org
499 ${FTPDIR}/
500
501 # Mails envoyés en cas d'erreur sur l'intranet2
502 :0
503 * ^Subject: \[Intranet2 Cr@ns\]
504 ${INTRANET2DIR}/
505
506 # Mails envoyés en cas d'une autre erreur Django
507 :0
508 * ^Subject: \[Django\]
509 ${DJANGODIR}/
510
511 # Mails envoyés lors de la modification d'un fichier de mot de passe
512 :0
513 * ^X-Mailer: cranspasswords
514 ${CRANSPASSWORDSDIR}/
515
516 # Mails envoyés par OVH…
517 :0
518 * ^From:.*support@ovh\.com
519 {
520 # …lors d'une connexion au manager
521 :0
522 * ^X-Ovh-Template: nic/fr/loginNotification.model
523 ${OVHMANAGERDIR}/
524
525 # Pour autre chose (facture, newsletter)
526 :0
527 ${OVHDIR}/
528 }
529
530 # Mail envoyés par apt-listchanges lors d'une mise à jour
531 :0
532 * ^Subject:.*apt-listchanges
533 ${APTLISTCHANGESDIR}/
534
535 # Serveurs non synchronisés avec bcfg2
536 :0
537 * ^X-Mailer: bcfg2-reports
538 ${BCFG2DIR}/
539
540 # Tout ce qui traîne sur root et qui n'est pas catché par quelque chose
541 :0
542 ${ROOTDEFAULTDIR}/
543 }
544
545
546 #################################################################
547 ## Gestion des mails de roots@crans.org ##
548 #################################################################
549
550 :0
551 * ^(To|Cc|List-Id):.*roots(@|\.lists\.)crans\.org
552 {
553 # Il y a aussi des apt-listchanges sur roots@
554 :0
555 * ^Subject:.*apt-listchanges
556 ${APTLISTCHANGESDIR}/
557
558 # Mails envoyés par la baie de disques
559 :0
560 * ^From: nols@crans\.org
561 ${NOLSDIR}/
562
563 # Mails envoyés par l'onduleur
564 :0
565 * ^From: pulsar@adm\.crans\.org
566 ${PULSARDIR}/
567
568 # Mails envoyés par le script qui détecte les changements dans la base LDAP
569 :0
570 * ^Subject:.*Surveillance modifications de la base LDAP
571 ${LDAPMODIFDIR}/
572
573 # Mails envoyés lors d'une erreur sur la base de donnée sqlgrey
574 :0
575 * ^From: sqlgrey@crans\.org
576 ${SQLGREYDIR}/
577
578 # Mails envoyés par backuppc
579 :0
580 * ^From: backuppc@crans\.org
581 ${BACKUPPCDIR}/
582
583 # Souriez, vous êtes photographiés
584 :0
585 * ^From:.*cameras@crans\.org
586 {
587 # On trie par lieu de la caméra
588 :0
589 * ^Subject:.*0B
590 ${CAMERASDIR}.0B/
591
592 :0
593 * ^Subject:.*0H
594 ${CAMERASDIR}.0H/
595 }
596
597 # I'm in your mailbox, watching your commits
598 # Attention à bien filtrer git avant darcs parce que les mails git
599 # contiennent aussi le header X-DarcsInfo !
600 :0
601 * ^X-GitInfo
602 {
603 :0
604 * ^X-Mailer: /usr/scripts/utils/git-whatsnew
605 ${GITDIR}.whatsnew/
606
607 :0
608 ${GITDIR}/
609 }
610 :0
611 * ^X-DarcsInfo
612 {
613 :0
614 * ^X-Mailer: Python Darcs Check
615 ${DARCSDIR}.whatsnew/
616
617 :0
618 ${DARCSDIR}/
619 }
620
621 # Tracker
622 :0
623 * ^X-Mailer:.*Redmine
624 ${TRACKERDIR}/
625
626 # Messages sur la Freebox
627 :0
628 * ^From: telephonie.freebox@freetelecom.fr
629 ${FREEBOXDIR}/
630
631 # Si il n'y pas de condition de tri, ça va dans le dossier Technique
632 :0
633 ${ROOTSDIR}/
634 }
635
636
637 #################################################################
638 ## Mails envoyés sur des MLs mais par des bots ##
639 #################################################################
640 # Il n'y jamais de dossier par défaut, le mail sera rattrapé
641 # au moment de la gestion gobale des mailing-lists
642
643 # Sur la ML disconnect@
644 :0
645 * ^List-Id:.*disconnect\.lists\.crans\.org
646 {
647 # Statistiques d'upload
648 :0
649 * ^X-Mailer: /usr/scripts/surveillance/statistiques.py
650 ${STATUPLOADDIR}/
651
652 :0
653 * ^Subject:.*fois.*en un mois
654 ${MULTIDECODIR}/
655 }
656
657 # Câblage demandé/effectué
658 :0
659 * ^X-Crans-Intranet: cablage
660 ${CABLAGEDIR}/
661
662 # Sur la ML impression@
663 :0
664 * ^List-Id:.*impression\.lists\.crans\.org
665 {
666 # Modification de solde
667 :0
668 * ^X-Mailer: modif_solde
669 ${LDAPSOLDEDIR}/
670
671 # Informations de print_status
672 :0
673 * ^X-Mailer: /usr/scripts/impression/print_status.py
674 ${PRINTSTATUSDIR}/
675
676 # Munin stock papier et toners
677 :0
678 * ^From: munin@crans\.org
679 ${MUNINIMPRESSIONDIR}/
680 }
681
682 # Sur la ML respbats@
683 :0
684 * ^List-Id:.*respbats\.lists\.crans\.org
685 {
686 # Machines supprimées pour chambre invalide
687 :0
688 * ^X-Mailer: /usr/scripts/gestion/chambres_vides.py
689 ${DELETEDMACHINES}/
690 }
691
692 #WIP# ###############################################################################
693 #WIP# # ^^^^^^^ Classés le plus possible par ordre de spammage décroissant
694
695 #WIP# # vvvvvvv Les MLs, à laisser en bas
696 #WIP# ###############################################################################
697
698
699 #################################################################
700 ## Gestion des cron perso ##
701 #################################################################
702 # Les Subjects des mails de (Ana)?Cron
703 # sont de la forme "(Ana)?Cron <user@host>"
704 # On parse pour récupérer le host et trier avec
705 :0
706 * ^(X-Cron-Env|From: Anacron)
707 {
708 :0
709 * ^Subject:.*Cron <[^@>]+@\/[^>]+
710 {
711 # On prend garde à ne pas créer un sous-dossier
712 # si jamais le host contient un . ou un espace
713 HOST_=`echo "$MATCH" | sed 's/\(\.\| \)/_/g'`
714 :0
715 ${CRONPERSODIR}.${HOST_}/
716 }
717
718 # Dans le cas (improbable) où le Subject de matche pas
719 :0
720 ${CRONPERSODIR}/
721 }
722
723
724 #################################################################
725 ## Inclusion des règles personnelles ##
726 #################################################################
727 #~# # Fichier de règles à personnaliser
728 #~# INCLUDERC="${CONFIGDIR}/custom.normal.rules"
729
730 #################################################################
731 ## Gestion des mails de Mailman ##
732 #################################################################
733 # La ML mailman@ est un peu particulière
734 :0
735 * ^(List-Id:.*mailman\.|(To|Cc):.*mailman-(owner|bounces)@)lists\.crans\.org
736 {
737 :0
738 * ^Subject:.*Rappel_pour_les_abonnements_aux_listes
739 ${RAPPELMDPDIR}/
740
741 :0
742 ${MAILMANDIR}/
743 }
744
745
746 #################################################################
747 ## Gestion des mailing-listes ##
748 #################################################################
749 # Ajouter à la suite vos propres règles pour les mailing-listes non gérées ici
750
751 :0
752 # On récupère tous les mails qui sont arrivés par l'intermédaire d'une ML
753 * ^List-Id:.*\/<[^<>]+>$
754 {
755 ML=$MATCH
756 ML=`echo "${ML}" | sed 's/<//;s/>//'`
757
758 #################################################################
759 ## Gestion des mailing-listes Cr@ns ##
760 #################################################################
761 :0
762 * ^List-Id:.*lists\.crans\.org
763 {
764 # On veut ne garder que le nom de la ML sans le nom de domaine
765 ML=`echo "${ML}" | sed 's/\.lists\.crans\.org//'`
766 # On prend garde à ne pas créer un sous-dossier
767 # si jamais le List-Id contient un . ou un espace
768 ML_=`echo "${ML}" | sed 's/\(\.\| \)/_/g'`
769
770 #################################################################
771 ## Cas où la ML est une ML de membre actif du Cr@ns ##
772 #################################################################
773
774 # MLs publiques (au sens où il n'y a pas que des cranseux abonnés)
775 :0
776 * ? grep "^${ML}$" ${CONFIGDIR}/ML_MA_crans.administratif.public
777 ${CRANSADMINISTRATIFPUBLICDIR}.${ML_}/
778
779 # MLS où il n'y a que des membres actifs abonnés
780 # (on peut y envoyer des informations privées)
781 :0
782 * ? grep "^${ML}$" ${CONFIGDIR}/ML_MA_crans.administratif.prive
783 ${CRANSADMINISTRATIFPRIVATEDIR}.${ML_}/
784
785 # La ML federez@lists.crans.org va quand même dans le dossier FedeRez
786 :0
787 * ? echo "${ML}" | grep federez
788 ${FEDEREZDIR}.${ML_}/
789
790 # La ML modérateurs va dans le dossier Surveillance
791 :0
792 * ^List-Id:.*moderateurs\.lists\.crans\.org
793 ${MODERATEURSDIR}/
794
795 # La ML intranet-bugreport va dans le dossier Problèmes
796 :0
797 * ^List-Id:.*intranet-bugreport\.lists\.crans\.org
798 ${INTRANET1DIR}/
799
800 # La ML nounou va dans le dossier Technique
801 :0
802 * ^List-Id:.*nounou\.lists\.crans\.org
803 ${NOUNOUDIR}/
804
805 #################################################################
806 ## Gestion des autres mailing-list (du campus) ##
807 #################################################################
808 # MLs génériques du campus (des assos et d'autres random trucs)
809 :0
810 * ? grep "^${ML}$" ${CONFIGDIR}/ML_campus
811 ${MLCAMPUSDIR}.${ML_}/
812
813 # MLs BDE
814 :0
815 * ? echo "${ML}" | grep bde
816 ${MLBDEDIR}.${ML_}/
817
818 # MLs BDA
819 :0
820 * ? (grep "^${ML}$" ${CONFIGDIR}/ML_bda) || (echo "${ML}" | grep bda)
821 ${MLBDADIR}.${ML_}/
822
823 # MLs SoNo
824 :0
825 * ? (grep "^${ML}$" ${CONFIGDIR}/ML_sono) || (echo "${ML}" | grep sono)
826 ${MLBDADIR}.${ML_}/
827
828 # MLs Med
829 :0
830 * ? echo "${ML}" | grep med
831 ${MLMEDDIR}.${ML_}/
832
833 # MLs SDA
834 :0
835 * ? echo "${ML}" | grep sda
836 ${MLSDADIR}.${ML_}/
837
838 # MLs BDL
839 :0
840 * ? echo "${ML}" | egrep "(bdl|interludes)"
841 ${MLBDLDIR}.${ML_}/
842
843 # MLs Gala
844 :0
845 * ? echo "${ML}" | egrep "(gala|geec)"
846 ${MLGALADIR}.${ML_}/
847
848 # MLs des clubs
849 :0
850 * ? (grep "^${ML}$" ${CONFIGDIR}/ML_clubs) || (echo "${ML}" | egrep '^club-')
851 ${MLCLUBSDIR}.${ML_}/
852
853 #################################################################
854 ## Gestion des MLs de promo ##
855 #################################################################
856 :0
857 * ? echo "${ML}" | egrep '^(ens-|a\.coeur)'
858 ${MLPROMODIR}.${ML_}/
859
860 #################################################################
861 ## Gestion des MLs perso ##
862 #################################################################
863 :0
864 * ? grep "^${ML}$" ${CONFIGDIR}/ML_perso
865 ${MLPERSODIR}.${ML_}/
866
867 # Si on est tombés sur un ML non-répertoriée
868 :0
869 ${MLCAMPUSDIR}.${MLFAILSUFFIX}.${ML_}/
870 }
871
872 #################################################################
873 ## Gestion des mailing-listes FedeRez ##
874 #################################################################
875 # On veut ne garder que le nom de la ML sans le nom de domaine
876 ML=`echo "${ML}" | sed 's/\.lists\.federez\.net//'`
877 # On prend garde à ne pas créer un sous-dossier
878 # si jamais le List-Id contient un . ou un espace
879 ML_=`echo "${ML}" | sed 's/\(\.\| \)/_/g'`
880
881 :0
882 * ^List-Id:.*lists.federez.net
883 {
884 :0
885 ${FEDEREZDIR}.${ML_}/
886 }
887
888 #################################################################
889 ## Gestion des autres mailing-listes ##
890 #################################################################
891 # On récupère le nom de domaine et le nom de la ML
892 DOMAIN=`echo "${ML}" | sed 's/.*\.\([^\.]\+\)\.[^\.]\+$/\1/'`
893 # On ne sait jamais ce qu'on peut rencontrer…
894 DOMAIN_=`echo "${DOMAIN}" | sed 's/ /_/g'`
895 # On prend garde à ne pas créer un sous-dossier
896 # si jamais le List-Id contient un . ou un espace
897 ML_=`echo "${ML}" | sed 's/\.[^\.]\+\.[^\.]\+$//;s/\.lists\?$//;s/\(\.\| \)/_/g'`
898 :0
899 ${MLDIR}.${DOMAIN_}.${ML_}/
900 }
901
902 #~# # Fichier de règles de faible priorité à personnaliser
903 #~# INCLUDERC="${CONFIGDIR}/custom.final.rules"