Browse Source

sending mails to admins

main
Holger Frey 7 years ago
parent
commit
f37f9ac5cf
  1. 19
      honeypot/__init__.py

19
honeypot/__init__.py

@ -6,6 +6,7 @@ from collections import OrderedDict @@ -6,6 +6,7 @@ from collections import OrderedDict
from pyramid.config import Configurator
from pyramid.response import Response
from pyramid.view import view_config
from pyramid_mailer.message import Message
from . import utils
@ -15,6 +16,7 @@ class RootResource: @@ -15,6 +16,7 @@ class RootResource:
moin_config_dir = None
moin_wiki_defs = []
admin_emails = []
def __init__(self, request):
''' initialization '''
@ -25,13 +27,14 @@ class RootResource: @@ -25,13 +27,14 @@ class RootResource:
return self
@classmethod
def pre_init(cls, moin_config_dir):
def configure(cls, settings):
''' parses the moinmoin farmconfig file '''
cls.moin_config_dir = moin_config_dir
moin_farmconfig = os.path.join(moin_config_dir, 'farmconfig.py')
cls.moin_config_dir = settings['moin.config_path']
moin_farmconfig = os.path.join(cls.moin_config_dir, 'farmconfig.py')
encoding = utils.guess_encoding(moin_farmconfig)
with open(moin_farmconfig, 'r', encoding=encoding) as fh:
cls.moin_wiki_defs = list(utils.extract_wiki_definitions(fh))
cls.admin_emails = settings['mail.admin_email'].split()
def get_moin_user(self):
@ -111,13 +114,21 @@ def the_view(context, request): @@ -111,13 +114,21 @@ def the_view(context, request):
headers = [' %s: %s' % (k, v) for k, v in request.headers.items()]
body.extend(headers)
message = Message(
subject='[wikis]: HoneyPot Link Was Accessed',
sender=event.request.registry.settings['mail.default_sender'],
recipients=context.admin_emails,
body=body
)
request.mailer.send(message)
return Response(body='\n'.join(body), content_type='text/plain')
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
RootResource.pre_init(settings['moin.config_path'])
RootResource.configure(settings)
config = Configurator(settings=settings)
config.set_root_factory(RootResource)

Loading…
Cancel
Save