afew is too complex after all

This commit is contained in:
Felix Van der Jeugt 2019-06-28 09:29:53 +02:00
parent 5952693319
commit 1ce49693dd
No known key found for this signature in database
GPG key ID: 58B209295023754D
4 changed files with 60 additions and 82 deletions

View file

@ -1,31 +0,0 @@
[FolderNameFilter]
folder_blacklist = Inbox Sent Drafts Trash
maildir_separator = /
[SpamFilter]
[KnownSpammers]
[TagOrContact.1]
query = tag:posteo
[Filter.1]
message = Tag messages to my Zeus account
query = to:felixvdj@zeus.ugent.be
tags = +zeus
[Filter.2]
message = The Dodona alias
query = to:dodona@ugent.be
tags = +dodona
[Filter.3]
message = The Unipept alias
query = to:unipept@ugent.be
tags = +unipept
[Filter.4]
query = tag:dodona and subject:'Onderwijsinstelling aangemaakt voor .*'
tags = -new
[ListMailsFilter]
[InboxFilter]

View file

@ -1,33 +0,0 @@
from afew.filters.BaseFilter import Filter
from afew.FilterRegistry import register_filter
from khard.config import Config
import re
@register_filter
class TagOrContact(Filter):
message = 'Allow only tagged messages from non-contacts'
user = None
domain = None
def __init__(self, database, **kwargs):
super(TagOrContact, self).__init__(database, **kwargs)
self._extract_tag_re = re.compile(f'[^+]+(\+(?P<tag>[^@]+))?@[^@]+')
self._bare_email_re = re.compile(r'[^<]*<(?P<email>[^@<>]+@[^@<>]+)>')
self._contactbook = Config().abook
def handle_message(self, message):
recipient = message.get_header('Delivered-To')
match = self._extract_tag_re.fullmatch(recipient)
if match is None: return # wrong email
if match.group('tag'):
self.add_tags(message, match['tag'])
else:
sender = message.get_header('From')
if '<' in sender: sender = self._bare_email_re.fullmatch(sender)['email']
if self._contactbook.search(sender):
self.add_tags(message, 'contact')
else:
self.add_tags(message, 'killed')

View file

@ -1,169 +0,0 @@
from afew.filters.BaseFilter import Filter
from afew.FilterRegistry import register_filter
spammers = """
golbalpublication.online
all.bg
vodokanal.poltava.ua
qingteng.xyz
guaranten.com
remedyonlineoa.info
pharm2019-sa.com
nsitysim.com
onlinepublishers.co
ijeert.com
eonlinepublishers.com
journalsres.org
gniindia.org
molbio2019.com
itise.org
iacrlrd2019.org
hspcorporation.org
peerreviewjournal.com
2019cmcb.com
iarjset.com
ibc-congress2019.com
drugtech-2018.com
food-congress2019.com
globalfest.online
elpfuly.com
rediffmail.com
msgsu.edu.tr
ecco.spgb.email
academicaloxy.com
sbcglobal.net
sharonwinstonw2@gmail.com
educagri.fr
ac-versailles.fr
bioscopegroup.org
microbiologyreposit.com
ijarcce.com
wsztest.com
outlookconferences.com
cellibc2019.com
web.imrj.online
sib.caister.com
gavin-publishers-group.com
paper-longsslim@daum.net
c2.aoamj-conferences.email
wgc2018-congress.com
saumail.sakarya.edu.tr
journalinsight.org
m.copernicuspublishing.org
aripd.combined@gmail.com
support.aoam.email
hbguirui.net
foodcongress2019.com
congresssummit.com
icmsquare.net
austinpublishinggroup.us
hindawi.com
internationalmeeting.org
openaccessusa.com
journal.aoam.email
mailpanda.com
scientificres.org
scifedconferences.com
insightmeetings.net
wgc-2019.com
intopenaccess.com
walla.co.il
innofine.in
escientificres.com
xceptdom.com
aoam.info
cambridgescholars.com
mra-journal.org
jimsindia.org
service.cyagenbio.com
oatext-alerts.net
2019ibc.com
eclinmed.org
innovationinfo.net
intechopen.com
neurologyspeakerexperts.org
conferencesinternational.org
oap-lifescience.org
synpeptide.com.cn
americaseminars.com
oatextjournals.com
connectcyagen.com
oatjournals.com
meetingsintl.com
scientglobal.org
research101.site
biochemistryjournals.org
functionalfoodcenter.com
bio-congress.com
oatext-news.org
ptzjournals.com
glazovsky.co.ua
wcfnconference2018.com
iacrlrd2019.com
scientificfederation.com
journalres.org
bangng.org
eurosciconmeetings.com
renecon.eu
kebiochem.cn
reg-med2018.com
edelweisspublications.info
ibc-congress.com
sciencescholastic.com
journals.hindawi.com
bioevents.net
clinicalopenaccess.org
easummit.net
networkwithexpert.com
cmcb2019.com
eursciconevent.com
cmedu.org
oatextjournal.info
alliedinternational.org
kingfisherbiotech.com
meettheglobalexpert.com
tonirovany.biz.ua
doveproofreading.com
clinicalcasereports.editor@protonmail.ch
scireslitoa.com
academiapublishing.org
editorialscience.org
pepcon-2019.com
oap-journals.net
klserv.com
keimra.org
oap-cancer.org
cmcb-2019.com
rebuilding-the-raindrops.ovh
gavinconferences.org
iwbbio.org
usp-pl.net
biochemjournals.com
sophia.isabella010@yahoo.com
aimspress6.com
proteinresearch.website
linkinscience.com
esciencemedicine.com
cellmech-bio2018.com
oap-journals.org
sara.wallner78@gmail.com
evajones290@gmail.com
news.caister.com
scientificfederation.info
imrjournal.email
oap-journals.com
frontiermeetings.com
submitresearch.online
editor.factor21@daum.net
"""
@register_filter
class KnownSpammers(Filter):
def __init__(self, database, **kwargs):
super(KnownSpammers, self).__init__(database, **kwargs)
self.query = ' or '.join(f'from:{s}' for s in spammers.split('\n') if s)
def handle_message(self, message):
self.add_tags(message, 'spam')
self.remove_tags(message, 'new')