Mail Tips

From YobiWiki
Jump to navigation Jump to search

mairix

Pour intégrer le répertoire virtuel avec les résultats, créer un .mairixrc du style

base=/home/phil
maildir=Maildir...
omit=Maildir/.Internet.SPAM**
omit=Maildir/.Mairix**
mfolder=Maildir/.Mairix
database=/home/phil/.mairix_database

Si vous utilisez aussi offlineimaprc veillez à ne pas synchroniser le répertoire Mairix en ajoutant Mairix à l'expression de recherche (dans .offlineimaprc):

folderfilter = lambda foldername: not re.search('(SPAM$|Mairix)', foldername)

Pour une utilisation plus conviviale vous pouvez ajouter ceci dans votre procmailrc, vous pourrez alors simplement taper votre commande mairix dans la Subject line (évitez le mode indexing...) et recevrez en réponse la sortie de mairix

# Make sure you've this line at top of the file:
SHELL=/bin/bash
 
:0
* ^Subject: mairix
* ^From: [^@]*\/(all.your|email.addresses|that you allow)
{
  # If you need special options for some addresses, do sth like:
  #:0
  #* ^From:[^@]*one.specific.address
  #{ mairixargs="-f /path/to/another/.mairixrc" }

  :0
  mairixresult=|grep -i "^subject: mairix"|cut --characters 17-|xargs mairix $mairixargs 2>&1
 
  :0
  | (formail -r -i "To: $MATCH"; echo "$mairixresult") | $SENDMAIL -t
}
 
:0
* ^Subject: man mairix
* ^From: [^@]*\/(all.your|email.addresses|that you allow)
| (formail -r -i "To: $MATCH" ; man mairix) | $SENDMAIL -t

J'écrase volontairement l'adresse où renvoyer les résultats pour éviter tout problème de sécurité, au cas où on utiliserait des règles plus complexes pour le From:

Examples de sujets:

mairix f:myfriend
mairix -x f:myfriend
mairix -h
man mairix

Vu que mairix peut retourner sur la ligne de commande des informations privées (le contenu des résultats), ces règles n'accepteront que des requêtes venant de vous

Global script for cron

This can be called by cron e.g. every day with fast indexing and every week or month with slow indexing.
This will seek in every homedir for ~/.mairixrc and execute mairix for those users.

#! /bin/sh

[ -x /usr/bin/mairix ] || exit 0

CALLER=$(dirname $0)
case "$CALLER" in
    /etc/cron.daily)
        mairixargs=--fast-index
    ;;
    /etc/cron.weekly|/etc/cron.monthly)
        mairixargs=--purge
    ;;
esac

# For every existing user who has his homedir under /home and has a ~/.mairixrc
for i in $(/usr/bin/cut -f6 -d: /etc/passwd|grep /home);
do 
    if [ -e $i/.mairixrc ];
    then 
        # Run mairix in his name
        echo $(date '+%H:%M:%S') Running mairix $mairixargs for $(basename $i)
        su - $(basename $i) -c "/usr/bin/nice -n19 /usr/bin/mairix";
        echo $(date '+%H:%M:%S') Done
    fi;
done

exit 0

lbdb

 # Configuration
 mkdir ~/.lbdbrc
 cp /etc/lbdb.rc ~/.lbdb/lbdbrc
 mcedit ~/.lbdb/lbdbrc
   METHODS="m_inmail m_gpg m_abook"
 # Pour peupler la DB avec les anciens mails: pas d'espace ds les noms svp
 for file in $(find ~/Maildir -type f);do cat $file|lbdb-fetchaddr;done;
 sort ~/.lbdb/m_inmail.list|uniq -W 2 -t "       ">temp.$$; # -t "<tabulation>"
 mv temp.$$ ~/.lbdb/m_inmail.list
 # Pour automatiser le peuplement à chaque nouveau mail:
 mcedit ~/.procmailrc
   :0hc
   | lbdb-fetchaddr
 # Pour interroger la DB:
 lbdbq <query string>