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