Situation: Mailserver mit nur IMAP-Zugriff. Problem: Ich möchte in der Lage sein, E-Mails zu filtern (einige E-Mails in verschiedene Ordner legen, als gelesen markieren usw.).
Die meisten neuen E-Mail-Clients verfügen über diese Funktion, ich möchte jedoch ein eigenständiges Filterprogramm, da ich verschiedene E-Mail-Clients verwenden muss, um eine Verbindung zu diesem Server herzustellen.
Im Allgemeinen - so etwas wie procmail, aber über IMAP arbeiten.
Die Software wird unter Linux oder Solaris ausgeführt.
Antworten:
Ein schneller Google- Aufruf ruft IMAPFilter auf, der so aussieht, als würde er das tun , was Sie wollen:
quelle
Abhängig von Ihrem IMAP-Server können Sie einfach eine Implementierung von Sieve verwenden . Ich denke, die beste Unterstützung für das Sieb bietet Cyrus.
quelle
Wie Sie bereits erwähnt haben, ist procmail der richtige Weg, um dies zu tun. Sie können also Ihren E-Mail-Anbieter fragen, ob er dies nur für den Fall unterstützt - es tut nicht weh.
Andernfalls ist es vielleicht am einfachsten, einen E-Mail-Client immer geöffnet zu haben, der die Sortierung usw. durchführt. Früher gab es Sperrprobleme, wenn mehrere Clients auf dasselbe IMAP-Postfach zugreifen, aber ich habe diese seit Jahren nicht mehr gesehen.
quelle
Aus Gründen der Leichtigkeit können Sie Sift ausprobieren.
quelle
Ein weiterer Weg ist die Verwendung des Ruby Gem Imap-Filters.
https://github.com/flajann2/imap-filter/blob/master/README.org
Und Beispiel für die DSL,
https://github.com/flajann2/imap-filter/blob/master/examples/default.imap
Das DSL basiert auf Ruby, aber Sie müssen nicht viel über Ruby wissen, um es zu verwenden. Der Autor verspricht, in naher Zukunft weitere Beispiele bereitzustellen, und ist offen für Feature-Anfragen und Pull-Anfragen.
quelle
Unter Linux- und Unix-Betriebssystemen können Sie
fetchmail
Ihr IMAP-E-Mail-Konto abfragen und neue Nachrichten an weiterleitenprocmail
. Sie können procmail so konfigurieren, dass Skripts basierend auf Übereinstimmungen mit Mustern regulärer Ausdrücke in empfangenen Nachrichten ausgeführt werden.Dazu müssen Sie die Pakete fetchmail und procmail installieren. Mit der folgenden Konfiguration konnte ich ein Skript für jede neue E-Mail-Nachricht ausführen, die in meinem E-Mail-Konto empfangen wird. Ich habe Ubuntu 12.04 LTS verwendet.
In
~/.fetchmailrc
:Beachten Sie die
keep
obige Anweisung, die sicherstellt, dass Nachrichten nach dem Abrufen nicht vom IMAP-Server entfernt werden.In
~/.procmailrc
:Es gibt viele Online-Tutorials für Fetchmail und Procmail sowie Tutorials für die Integration der beiden (so bin ich auf das oben Gesagte gekommen).
Wenn ich jetzt laufe
fetchmail
oderfetchmail -v
das Skript/home/username/myscript.sh
einmal für jede neue Nachricht ausgeführt wird. Ich kann fetchmail in einem Cron ausführen oder fetchmail so konfigurieren, dass es als Daemon mit derset daemon 600
Direktive in ausgeführt wird.fetchmailrc
(wobei 600 die Anzahl der Sekunden zwischen den Abfragen ist).quelle