rss logo

Mes notes maildrop

Configuration

Intro

Maildrop est un puissant agent de distribution du courriel (Mail delivery agent) pour GNU/Linux qui dispose de nombreuses fonctionnalités.

Activer maildrop

La première chose à faire est d'activer maildrop par utilisateur.

  • Aller dans le répertoire de la boîte de réception de l'utilisateur :
vmail@host:~$ cd std.rocks/user/
  • Entrer la commande suivante pour activer maildrop pour l'utilisateur :
vmail@host:~$ echo "|/usr/bin/maildrop" > .courier

My maildrop file

Voici un exemple de fichier maildrop que j'utilise pour trier automatiquement mes emails. L'objectif est de déplacer les emails dans des répertoires spécifiques automatiquement.

logfile "/var/log/maildrop.log" #log "MAILDIR : $MAILDIR" import RECIPIENT import HOME log "HOMME : $HOME" #log "RECIPIENT : $RECIPIENT" #log "FROM : $FROM" VERBOSE="5" SHELL=/bin/bash DEFAULT="$HOME/Maildir/." #######shebang@shebangthedolphins.net########### `[[ $MATCH =~ .*@personal.com ]]` if ( $RETURNCODE == 0 ) { to "$HOME/Maildir/.perso/." } #######work@shebangthedolphins.net########### `[[ $MATCH =~ .*@toto.com ]]` if ( $RETURNCODE == 0 && ( /^To: .*support@shebangthedolphins.net.*/ || /^Cc: .*tech@shebangthedolphins.net.*/ ) && ! /^To: .*bye@shebangthedolphins\.net.*/ ) { to "$HOME/Maildir/.toto/." } if ( /^To: .*insurance@shebangthedolphins.net.*/ || /^To: .*INSURANCE@SHEBANGTHEDOLPHINS.NET.*/ ) { to "$HOME/Maildir/.axa/." } if ( /^To: .*bank@shebangthedolphins.net.*/ ) { to "$HOME/Maildir/.bank/." } #######buy@shebangthedolphins.net########### `[[ $MATCH =~ .*@.*ebay.(com|fr) ]]` if ( $RETURNCODE == 0 && /^To: .*buy@shebangthedolphins\.net.*/ ) { to "$HOME/Maildir/.ebay/." } `[[ $MATCH =~ .*@fnac.com ]]` if ( $RETURNCODE == 0 && /^To: buy@shebangthedolphins\.net/ ) { to "$HOME/Maildir/.fnac/." } `[[ $MATCH =~ .*@amazon.fr ]]` if ( $RETURNCODE == 0 && /^To: buy@shebangthedolphins\.net/ ) { to "$HOME/Maildir/.amazon/." } if ( /^To: flattr@shebangthedolphins\.net/ ) { to "$HOME/Maildir/.flattr/." } if ( /^To: playstation@shebangthedolphins\.net/ ) { to "$HOME/Maildir/.playstation/." }

Whitelist with maildrop

  • Les emails dont les adresses ne sont pas présentes dans le fichier /var/vmail/shebangthedolphins.net/boby/whitelist seront déplacés dans le dossier Junk.
if ( /To: .*boby@shebangthedolphins.net.*/ && ( /^From:\s.*<(.*)>/ && !lookup(tolower($MATCH1), "/var/vmail/shebangthedolphins.net/boby/whitelist" ))) #to lower doesn't seems to be useful { log "MATCH : $MATCH1" to "$HOME/Maildir/.Junk/." }

Jouer un son

Nous pouvons jouer une alerte sonore chaque fois que nous recevons un email spécifique.

  • Tout d'abord, nous installons aplay :
root@host:~# apt-get install alsa-utils
  • Lister les périphériques audio :
root@host:~# aplay -l root@host:~# aplay -L
  • Script pour jouer un son :
#! /bin/bash aplay -D front:CARD=Device,DEV=0 -t wav /usr/local/sbin/alert.wav
  • vigr et vigr -s
audio:x:29:vmail
  • /etc/sudoers

J'ai eu des erreurs ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM front:CARD=Device,DEV=0 et aplay: main:788: audio open error: Invalid argument, j'ai donc dû créer une règle sudo.

vmail ALL=(ALL) NOPASSWD:/usr/local/sbin/play_sound.sh
  • /etc/maildropc
if ( /^From: .*santa@claus.*/ || /^Subject: .*specific subject.*/ ) { `sudo /usr/local/sbin/play_sound.sh` }
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

contact mail address