Existe-t-il un moyen de filterr les mails dans le count IMAP distant?

Situation: server de messagerie avec access IMAP uniquement. Problème: je souhaite filterr les mails (mettre des mails dans différents dossiers, les marquer comme lus et ainsi de suite).

La plupart des nouveaux clients de messagerie ont cette capacité, mais je veux un programme de filtrage autonome, car j'ai besoin d'utiliser divers clients de messagerie pour me connecter à ce server.

Généralement – quelque chose comme procmail, mais fonctionnant sur IMAP.

Le logiciel sera exécuté sous Linux ou Solaris.

6 Solutions collect form web for “Existe-t-il un moyen de filterr les mails dans le count IMAP distant?”

Un google rapide lance IMAPFilter qui ressemble à ce que vous voulez:

  • Recherche de messages utilisant de nombreux critères disponibles dans le protocole IMAP, tels que:
    • Statut (récent, non lu, etc.) d'un message.
    • Taille d'un message.
    • Âge d'un message.
    • Correspondance d'une string ou d'un motif d'expression régulière dans les en-têtes ou le corps d'un message.
  • Possibilité d'utiliser les opérateurs logiques (et / ou / non) lors de la search de messages.
  • Différentes fonctionnalités disponibles pour traiter les messages, y compris:
    • Suppression de messages.
    • Déplacement de messages vers une boîte aux lettres dans les servers identiques ou différents
    • Copier des messages dans une boîte aux lettres dans les servers identiques ou différents.
    • Marquage de messages ou changement de drapeaux de messages.
  • Liste des boîtes aux lettres disponibles et / ou abonnées, ainsi que support pour l'extension IMAP CHILDREN.
  • Créer, supprimer, renommer, souscrire ou désabonner des boîtes aux lettres
  • Prise en charge de l'internationalisation (I18N).
  • Prise en charge de l'espace de noms de server à l'aide de l'extension IMAP NAMESPACE.
  • Les connections Secure Socket Layer (SSL) ou de couche de transport (TLS) chiffrées (ports 993).
  • logins cryptées à l'aide de l'extension IMAP STARTTLS.
  • Authentification user avec le mécanisme d'authentification Challenge-Response (CRAM), en particulier CRAM-MD5.
  • Support Perl Compatible Expressions Régulières (PCRE).

Selon votre server IMAP, vous pouvez simplement utiliser une certaine implémentation de tamis . Je pense que le meilleur support pour le tamis est fourni par cyrus.

Comme vous l'avez déjà mentionné, procmail est la bonne façon de le faire, afin que vous puissiez requestr à votre fournisseur de courrier électronique s'ils le soutiennent, au cas où cela ne nuirait pas.

Sinon, peut-être que le moyen le plus simple est d'avoir un client de messagerie toujours ouvert, ce qui fait le sorting, etc. Il y avait des problèmes de locking avec plusieurs clients ayant access à la même boîte aux lettres IMAP, mais je n'ai pas vu cela depuis des années.

Pour une légèreté légère, vous pourriez tenter.

Sur les systèmes d'exploitation Linux et Unix, vous pouvez utiliser fetchmail pour interroger votre count de messagerie IMAP et transmettre tous les nouveaux messages à procmail . Vous pouvez configurer procmail pour exécuter des scripts en fonction des correspondances de motif d'expression 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 dans mon count e-mail. J'ai utilisé Ubuntu 12.04 LTS.

Dans ~/.fetchmailrc :

 # .fetchmailrc checks my e-mail account for new messages, sends them to procmail set logfile /home/myusername/fetchmail.log poll mail.domain.com protocol IMAP user "emailaccountname" password 'emailpassword' folder 'INBOX' keep ssl mda "/usr/bin/procmail -f %F" 

Notez la directive keep ci-dessus, qui garantit que les messages ne sont pas supprimés du server IMAP après leur récupération.

Dans ~/.procmailrc :

 # .procmailrc received e-mails from fetchmail and runs a script PATH=/usr/bin:/usr/local/bin LOGFILE=/home/username/procmail.log SHELL=/bin/sh # This rule sortingggers for every e-mail message: :0 | `/home/username/myscript.sh` 

Il existe de nombreux tutoriels en ligne pour fetchmail et procmail, ainsi que des tutoriels sur la façon d'intégrer les deux (c'est ainsi que je viens de l'exposer ci-dessus).

Maintenant, si je lance fetchmail ou fetchmail -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 exécuter comme démon de la directive set daemon 600 dans .fetchmailrc (où 600 est le nombre de secondes entre les sondages).

Encore une autre façon est d'utiliser le filter anti-gemme ruby.

https://github.com/flajann2/imap-filter/blob/master/README.org

Et l'exemple de la DSL,

https://github.com/flajann2/imap-filter/blob/master/examples/default.imap

Le DSL est basé sur Ruby, mais vous n'avez pas besoin de connaître beaucoup de Ruby pour l'utiliser. L'auteur promet de fournir plus d'exemples dans un proche avenir, et est ouvert aux requests de fonctionnalités et aux requests de tirage.

  • Redémarrez une seule NIC après une modification IP?
  • Défaut de segmentation avec PHP5 sur Solaris 10
  • Solaris: appareils remapp
  • zpool n'a pas augmenté après avoir ajouté une tranche de disque
  • Routage vers une IP flottante entre 2 servers sur différents réseaux
  • Problèmes de memory avec Tomcat sur Solaris 10
  • Kernrate alternative pour Linux ou Solaris
  • Fonctionnalité Solaris SMF dans tous les packages open source ou Linux kernel?
  • Date de création du système de files UFS
  • UNIX cron job ne s'exécute pas sur tous ses horaires, ça fonctionne comme s'il s'agissait d'une version précédente?
  • Comment force-je un MTU spécifique pour certains ports TCP uniquement?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.