09/04/2010

Filtrer ses mails ! Un cauchemar !

Logiciels nécessaires pour “MailFiltrés”

  • MySQL-5
  • Apache-2.2
  • Php-5.2
  • RoundCube + plugins “Report Junk” et “Manage Sieve”
  • Dovecot (pop/imap) + Sieve + ManageSieve
  • SpamAssassin + MySQL
  • Postfix
  • mutt + sidebar
  • Fetchmail
  • Remplir la casserole

    Pour trier le manger dans la casserole nous devons tout d’abord la remplir !

    Pour effectuer ce howto il nous faut tout d’abord des emails.
    Il va donc nous falloir configurer fetchmail.
    Attention ne pas lancer fetchmail de suite ! Sinon vous risquez de rapatrier les emails sans même les faire passer dans la moulinette avant de les déposer dans les bons compartiments de la casserole !

    Récupérer les ingrédients et les mettre dans la casserole

    * Gentoo

    USE="ssl" emerge -av net-mail/fetchmail

    * Debian

    apt-get install fetchmail

    * .fetchmailrc

    ## les mails mondomaine.info
    poll pop.geekmx.org
    protocol pop3
    username bragon@mondomaine.info
    password ""
    #mda '/usr/bin/procmail -d %T' ### petit commentaire pour vous faire voir comment faire pour faire passer vos mails dans la moulinette procmail avant de les donner à manger à dovecot !!
    mda "/usr/libexec/dovecot/deliver"
    is 'bragon' here ### Nom de l'utilisateur local pour déposer les mails.
    keep ### Laisses mes mails sur l'imap distant ! Mechant !

    ## ensuite on recup les mails geeknode
    poll pop.geekmx.org
    protocol pop3
    username utilisateurvalide@g33kn0de.org
    password ""
    mda "/usr/libexec/dovecot/deliver"
    is 'bragon' here
    keep


    ## apres on passe au compte gmail
    poll imap.gmail.com
    proto imap
    user "bragon.unuser@gmail.com"
    password ""
    ssl
    keep
    mda "/usr/libexec/dovecot/deliver"
    is 'bragon' here

    ## On synchronise le compte blackberry pour virification
    #poll imap.geekmx.org
    #proto imap
    #user "unuser@undomaine.info"
    #password ""
    #ssl
    #keep
    #mda "/usr/libexec/dovecot/deliver"
    #is 'bragon' here

    ## preparation pour les mails EW
    #
    poll trucmail.euro-web.fr
    protocol imap
    username "truc.plop[_at_]euro-web[point_dot]fr" ## Mettre ici une vraie adresse mail
    password "" ## Mettre ici un vrai mot de passe.
    folder 'INBOX.sdf' ## Recupère spécifiquement un dossier IMAP
    folder 'INBOX.task'
    folder 'INBOX.sysadmin'
    folder 'INBOX.netavous'
    folder 'INBOX.frnog'
    folder 'INBOX.TODO'
    folder 'INBOX' ## Recupère le dossier imap principal
    keep ## Laisse les mails sur le serveur
    mda "/usr/libexec/dovecot/deliver" ## Utilise dovecot en tant que deliver local
    is 'bragon' here ## Mets les mails dans le répertoire courant de l'utilisateur bragon.

    Filtrer / Découper les ingrédients Juste avant la casserole

    emerge -av =net-mail/dovecot-1.2.6

    ou

    apt-get install dovecot  # Je crois que de base dans Debian dovecot est compilé avec sieve.

    * Flag de compilation nécéssaire pour dovecot : “berkdb bzip2 ipv6 maildir managesieve mysql pam sieve ssl zlib -caps -cydir -dbox -doc -kerberos -ldap -mbox -postgres -sqlite -suid -vpopmail”

    Via ces directives de compilation dovecot supporte maintenant les fichiers de filtrage “.sieve”
    Il vous suffit de déposer n’importe quel fichier sieve dans /home/utilisateur/sieve pour que dovecot utilise vos filtres.

    Voici un exemple de syntaxe : tamereenshortsurunCISCO7603.sieve

    # rule:[cron]
    elsif anyof (header :contains "Subject" "root@gn",
            header :contains "From" "root@astaroth",
            header :contains "From" "bragon@tobold",
            header :contains "From" "root@aec-ri.com",
            header :contains "From" "root@mail.geekmx.org",
            header :contains "From" "root@bender")
    {
            fileinto "cron";
    }

    Second exemple de syntaxe : tonpapaesttellementvieuxque….sieve

    # rule:[SYSADMIN ML]
    elsif anyof (header :contains "From" "sysadmin@domaine.net",
            header :contains "Subject" "Liste Franophone Administrateur systeme")
    {
            fileinto "boulot.sysadmin";
            redirect "smartphone[at]bragon[point]info"; ## Mettre ici une adresse mail valide
    }
    # rule:[Debian Security Advertise]
    elsif anyof (header :contains "Subject" "[SECURITY][DSA")
    {
            fileinto "boulot.dsa";
    }

    Virer les ingrédients moisis en les mettant dans un compartiment de la casserole

    emerge -av =mail-filter/spamassassin-3.2.5-r2

    * Flag de compilation nécessaire pour spamassassin : “berkdb ipv6 mysql ssl -doc -ldap -postgres -qmail -sqlite -tools”

    * Voir les configurations de spamd ci-après.

    Renvoyer certains ingrédients au cuisinier

    emerge -av =mail-mta/postfix-2.6.5

    * Flag de compilation nécessaire pour postfix : “dovecot-sasl ipv6 mysql pam ssl -cdb -hardened -ldap -mbox -nis -postgres -sasl (-selinux) -vda”

    * Voir le fichier de configuration main.cf ci-après.

    Le postfix me sert uniquement pour transférer certaines régles sieve vers une autre adresse mail.
    Cette adresse mail est popé via mon smartphone.
    Ainsi je reçois N’importe ou Certains mails qui “matchent” une régle de filtrage spécifique !

    Le postfix peut me servir également à faire réply dans l’interface roundcube ou mutt . (mais je l’utilise rarement car ce postfix n’a ni domainkeys ni spf pour mes domaines pro / geeknode / gmail) Et le mail bien que délivré arrivera dans la boite à spam du correspondant fréquemment.

    Ce postfix n’est là que pour dépanner, et pour transférer mes mails super important via mon smartphone.

    Faire mijoter à feu doux !

    Placer ce crontab pour l’utilisateur qui va devoir récupérer les mails.

    crontab -e
    */10 * * * * /usr/bin/fetchmail > /dev/null 2>&1

    Les mails vont donc être récupérés toutes les dix minutes, et directement déposés dans le MDA ( Mail Délivery Agent).
    Le MDA de ma configuration fetchmail étant dovecot, et dovecot lisant tous mes filtres, cela devrait bien se passer 🙂

    1. | #1

      ps : Pour ceux qui me connaissent pas, c’est ma vraie photo avec un chapeau de chef :p

    2. GreG
      | #2

      Succulent 🙂

    3. trifus
      | #3

      Excellent ta photo de chef cuisinier 😀

    4. | #4

      Ha bah ouais il est beau avec sa toque 😀

    1. Pas encore de trackbacks