afew is too complex after all
This commit is contained in:
parent
5952693319
commit
1ce49693dd
4 changed files with 60 additions and 82 deletions
|
@ -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]
|
|
@ -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')
|
|
@ -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')
|
Loading…
Add table
Add a link
Reference in a new issue