Sytuacja: serwer pocztowy z dostępem tylko do IMAP. Problem: Chcę mieć możliwość filtrowania wiadomości e-mail (umieszczaj niektóre wiadomości w różnych folderach, oznaczaj je jako przeczytane itd.).
Większość nowych klientów e-mail ma taką możliwość, ale chcę mieć niezależny program do filtrowania, ponieważ muszę używać różnych klientów e-mail, aby połączyć się z tym serwerem.
Ogólnie rzecz biorąc - coś w rodzaju procmaila, ale działa w oparciu o IMAP.
Oprogramowanie będzie działać w systemie Linux lub Solaris.
Odpowiedzi:
Szybkie google wyświetla IMAPFilter, który wygląda tak, jak robi, co chcesz:
źródło
W zależności od serwera IMAP możesz po prostu użyć implementacji sita . Myślę, że najlepsze wsparcie dla sita zapewnia cyrus.
źródło
Jak już wspomniałeś, procmail to właściwy sposób, aby to zrobić, więc możesz zapytać swojego dostawcę poczty e-mail, czy obsługuje go na wszelki wypadek - nie zaszkodzi.
W przeciwnym razie być może najłatwiejszym sposobem jest zawsze otwieranie klienta poczty e-mail, który dokonuje sortowania itp. Były problemy z blokowaniem wielu klientów uzyskujących dostęp do tej samej skrzynki pocztowej IMAP, ale nie widziałem ich od lat.
źródło
Aby uzyskać lekkość, możesz spróbować Sift .
źródło
Jeszcze innym sposobem jest użycie filtra imap ruby gem.
https://github.com/flajann2/imap-filter/blob/master/README.org
I przykład DSL,
https://github.com/flajann2/imap-filter/blob/master/examples/default.imap
DSL jest oparty na języku Ruby, ale nie musisz znać dużo języka Ruby, aby z niego korzystać. Autor obiecuje podać więcej przykładów w najbliższej przyszłości i jest otwarty na prośby o funkcje i żądania ściągania.
źródło
W systemach operacyjnych Linux i Unix można użyć
fetchmail
do odpytania konta e-mail IMAP i przekazywania nowych wiadomościprocmail
. Możesz skonfigurować procmail, aby uruchamiał skrypty na podstawie dopasowań wzorca wyrażeń regularnych w otrzymanych wiadomościach.Aby to zrobić, musisz zainstalować pakiety fetchmail i procmail. Poniższa konfiguracja pozwoliła mi uruchomić skrypt dla każdej nowej wiadomości e-mail otrzymanej na moim koncie e-mail. Użyłem Ubuntu 12.04 LTS.
W
~/.fetchmailrc
:Zwróć uwagę na
keep
powyższą dyrektywę, która gwarantuje, że wiadomości nie zostaną usunięte z serwera IMAP po ich pobraniu.W
~/.procmailrc
:Istnieje wiele samouczków online dotyczących fetchmaila i procmaila, a także samouczki dotyczące ich integracji (tak wymyśliłem powyższe).
Teraz jeśli uruchomię
fetchmail
lubfetchmail -v
skrypt/home/username/myscript.sh
uruchomi się raz dla każdej nowej wiadomości. Mogę uruchomić fetchmail w cronie lub skonfigurować fetchmail, aby działał jako demon zset daemon 600
dyrektywą w.fetchmailrc
(gdzie 600 to liczba sekund między odpytywaniami).źródło