Situation: serveur de messagerie avec accès IMAP uniquement. Problème: je veux pouvoir filtrer les mails (mettre des mails dans différents dossiers, les marquer comme lus, etc.).
La plupart des nouveaux clients de messagerie ont cette capacité, mais je veux un programme de filtrage autonome, car je dois utiliser divers clients de messagerie pour me connecter à ce serveur.
Généralement - quelque chose comme procmail, mais fonctionnant sur IMAP.
Le logiciel sera exécuté sur Linux ou Solaris.
Réponses:
Un rapide google lance IMAPFilter qui ressemble à ce que vous voulez:
la source
Selon votre serveur IMAP, vous pouvez simplement utiliser une implémentation de sieve . Je pense que le meilleur support pour le tamis est fourni par cyrus.
la source
Comme vous l'avez déjà mentionné, procmail est la bonne façon de le faire, vous pouvez donc demander à votre fournisseur de messagerie s'il le prend en charge au cas où - cela ne fait pas de mal.
Sinon, le moyen le plus simple est peut-être d'avoir un client de messagerie toujours ouvert qui fait le tri, etc. Il y avait des problèmes de verrouillage avec plusieurs clients accédant à la même boîte aux lettres IMAP, mais je ne les ai pas vus depuis des années.
la source
Pour une légèreté absolue, vous pouvez essayer Sift .
la source
Encore une autre façon est d'utiliser le filtre imap rubis gem.
https://github.com/flajann2/imap-filter/blob/master/README.org
Et exemple de la DSL,
https://github.com/flajann2/imap-filter/blob/master/examples/default.imap
La DSL est basée sur Ruby, mais vous n'avez pas besoin d'en savoir beaucoup sur Ruby pour l'utiliser. L'auteur promet de fournir plus d'exemples dans un proche avenir, et est ouvert aux demandes de fonctionnalités et aux demandes d'extraction.
la source
Sur les systèmes d'exploitation Linux et Unix, vous pouvez utiliser
fetchmail
pour interroger votre compte de messagerie IMAP et transmettre tout nouveau message àprocmail
. Vous pouvez configurer procmail pour exécuter des scripts basés sur des correspondances de modèles d'expressions régulières dans les messages reçus.Pour ce faire, vous devrez installer les packages fetchmail et procmail. La configuration suivante m'a permis d'exécuter un script pour chaque nouveau message électronique reçu sur mon compte de messagerie. J'ai utilisé Ubuntu 12.04 LTS.
Dans
~/.fetchmailrc
:Notez la
keep
directive ci-dessus, qui garantit que les messages ne sont pas supprimés du serveur IMAP après leur récupération.Dans
~/.procmailrc
:Il existe de nombreux didacticiels en ligne pour fetchmail et procmail, ainsi que des didacticiels sur la façon d'intégrer les deux (c'est comme ça que j'ai trouvé ce qui précède).
Maintenant, si je lance
fetchmail
ou sifetchmail -v
le script/home/username/myscript.sh
s'exécute une fois pour chaque nouveau message. Je peux exécuter fetchmail dans un cron, ou configurer fetchmail pour qu'il s'exécute en tant que démon avec laset daemon 600
directive in.fetchmailrc
(où 600 est le nombre de secondes entre les interrogations).la source