From 47bf4c701eb84ec06c9a63adb3c8cc99876eaf66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Touceda?= Date: Mon, 8 Sep 2014 15:52:34 -0300 Subject: Implement mail bouncing under certain problematic situations --- pkg/mx.conf.sample | 19 +++++++++++++++++++ pkg/mx.tac | 14 ++++++++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 pkg/mx.conf.sample (limited to 'pkg') diff --git a/pkg/mx.conf.sample b/pkg/mx.conf.sample new file mode 100644 index 0000000..c9ad0f8 --- /dev/null +++ b/pkg/mx.conf.sample @@ -0,0 +1,19 @@ +[mail1] +path=/path/to/Maildir/ +recursive= + +[couchdb] +user= +password= +server=localhost +port=6666 + +[alias map] +port=4242 + +[check recipient] +port=2244 + +[bounce] +from=
+subject=Delivery failure \ No newline at end of file diff --git a/pkg/mx.tac b/pkg/mx.tac index c101de9..75d2405 100755 --- a/pkg/mx.tac +++ b/pkg/mx.tac @@ -46,6 +46,15 @@ password = config.get("couchdb", "password") server = config.get("couchdb", "server") port = config.get("couchdb", "port") +bounce_from = "bounce" +bounce_subject = "Delivery failure" + +try: + bounce_from = config.get("bounce", "from") + bounce_subject = config.get("bounce", "subject") +except ConfigParser.NoSectionError: + pass # we use the defaults above + alias_port = config.getint("alias map", "port") check_recipient_port = config.getint("check recipient", "port") @@ -74,11 +83,12 @@ mail_couch_url_prefix = "http://%s:%s@%s:%s" % (user, port) directories = [] for section in config.sections(): - if section in ("couchdb", "alias map", "check recipient"): + if section in ("couchdb", "alias map", "check recipient", "bounce"): continue to_watch = config.get(section, "path") recursive = config.getboolean(section, "recursive") directories.append([to_watch, recursive]) -mr = MailReceiver(mail_couch_url_prefix, cdb, directories) +mr = MailReceiver(mail_couch_url_prefix, cdb, directories, bounce_from, + bounce_subject) mr.setServiceParent(application) -- cgit v1.2.3