Uzak IMAP hesabındaki postaları filtrelemenin bir yolu var mı?


9

Durum: Yalnızca IMAP erişimine sahip posta sunucusu. Sorun: Postaları filtreleyebilmek istiyorum (bazı klasörleri çeşitli klasörlere koyun, okundu olarak işaretleyin vb.).

Çoğu yeni e-posta istemcisi bu yeteneğe sahiptir, ancak bu sunucuya bağlanmak için çeşitli e-posta istemcileri kullanmam gerektiğinden bağımsız bir filtreleme programı istiyorum.

Genellikle - procmail gibi bir şey, ancak IMAP üzerinde çalışıyor.

Yazılım Linux veya Solaris üzerinde çalışacaktır.


Yanıtlar:


8

Hızlı bir google , istediğinizi yaptığı gibi IMAPFilter atar :

  • IMAP protokolünde aşağıdakiler gibi birçok ölçüt kullanarak mesaj arama:
    • Bir iletinin durumu (en son, okunmamış vb.).
    • Mesajın boyutu.
    • Bir mesajın yaşı.
    • İletinin başlıklarında veya gövdesinde bir dizenin veya normal ifade modelinin eşleştirilmesi.
  • İletileri ararken mantıksal işleçleri (ve / veya / değil) kullanma yeteneği.
  • Mesajları işlemek için mevcut farklı yetenekler:
    • Mesajlar siliniyor.
    • İletileri aynı veya farklı sunuculardaki bir posta kutusuna taşıma
    • İletileri aynı veya farklı sunuculardaki bir posta kutusuna kopyalama.
    • Mesajları işaretleme veya mesaj bayraklarını değiştirme.
  • IMAP ÇOCUK uzantısını desteklemenin yanı sıra kullanılabilir ve / veya abone olunan posta kutularının listesi.
  • Posta kutuları oluşturma, silme, yeniden adlandırma, abone olma veya abonelikten çıkma
  • Uluslararasılaşma (I18N) desteği.
  • IMAP NAMESPACE uzantısını kullanarak sunucu ad alanı desteği.
  • Güvenli Yuva Katmanı (SSL) veya Aktarım Katmanı Güvenliği (TLS) şifreli imaps (bağlantı noktası 993) bağlantıları.
  • IMAP STARTTLS uzantısını kullanan şifreli bağlantılar.
  • Challenge-Response Kimlik Doğrulama Mekanizması (CRAM) ile kullanıcı kimlik doğrulaması, özellikle CRAM-MD5.
  • Perl Uyumlu Düzenli İfadeler (PCRE) desteği.

1

IMAP sunucunuza bağlı olarak, bazı elek uygulamalarını kullanabilirsiniz . Elek için en iyi desteğin cyrus tarafından sağlandığını düşünüyorum.


Peki - aradığım çözüm hiçbir şekilde sunucuya bağlı olamaz. Sunucunun sadece aptal bir IMAP olduğunu ve akıllı hiçbir şey desteklemediğini varsaymalıyım.

1

Daha önce de belirttiğiniz gibi, procmail bunu yapmanın doğru yoludur, bu nedenle e-posta sağlayıcınıza her durumda destekleyip desteklemediklerini sorabilirsiniz - zarar vermez.

Aksi takdirde, belki de en kolay yolu, sıralama vb. Yapan bir e-posta istemcisinin açık olmasıdır. Aynı IMAP posta kutusuna erişen birden fazla istemcide kilitleme sorunları vardı, ancak bunları yıllar içinde görmedim.


Cevap bu değil. Filtreleme, üzerinde kontrolünüz olmayan IMAP sunucusunda gerçekleşmelidir.
reinierpost



0

Linux ve Unix işletim sistemlerinde, fetchmailIMAP e-posta hesabınızı yoklamak ve yeni iletileri iletmek için kullanabilirsiniz procmail. Procmail'i alınan iletilerdeki normal ifade kalıbı eşleşmelerine göre komut dosyaları çalıştıracak şekilde yapılandırabilirsiniz.

Bunu yapmak için, fetchmail ve procmail paketlerini kurmanız gerekir. Aşağıdaki yapılandırma, e-posta hesabıma alınan her yeni e-posta iletisi için bir komut dosyası çalıştırmamı sağladı. Ubuntu 12.04 LTS kullandım.

İçinde ~/.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"

Not keepalındıktan konum sonra iletiler IMAP sunucusundan kaldırılmaz hangi olmasını sağlar ki yukarıdaki yönergeyi.

İçinde ~/.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 triggers for every e-mail message:
:0
| `/home/username/myscript.sh`

Fetchmail ve procmail için çevrimiçi çok sayıda öğretici ve ayrıca ikisini nasıl entegre edeceğinize dair öğreticiler var (yukarıdakileri bu şekilde buldum).

Şimdi her yeni mesaj için çalıştırırsam fetchmailveya fetchmail -vkomut dosyası bir /home/username/myscript.shkez çalışırsa. Fetchmail'i bir cronda çalıştırabilir veya fetchmail'i set daemon 600direktifle .fetchmailrc(burada 600 arasında anketler arasındaki saniye sayısı) bir daemon olarak çalışacak şekilde yapılandırabilirim .


Cevap bu değil. Filtreleme IMAP sunucusunda gerçekleşmelidir.
reinierpost
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.