Skip to main content

Adds the script, which process given emails to proxy them, replacing real email addresses by company's local ones taken from the contrib.auth module.

Project description

===========
EmailFilter
===========

Description
===========

Module provides proxying emails from external addresses to local ones according to ``django.contrib.User`` emails


Installation
============

1. Install emailfilter to your project's environment. If your env should be activated by hand, then create script (``mail_route.sh``) like this::

#!/bin/sh
export PYTHONPATH=/path/to/settings_dir/:/path/to/project/

echo "$(cat)" | /path/to/env/bin/python /path/to/env/bin/mail_route.py >> /path/to/logs/mail_route.log 2>&1

2. Add new pipe to ``mail_route.py`` script in postfix (by default it should be placed in ``/etc/postfix/master.cf``)::

mailproxy unix - n n - - pipe
flags=FR user=user_that_runs_uwsgi_or_project argv=/path/to/mail_route.sh
${nexthop} ${user}


3. Then this transport should be used to process mails.

For example you want to process mails to ``domain.com`` and you are using cdb storage for postfix.
Add this to ``/etc/postfix/transport``::

domain.com mailproxy:


Then update cdb map::

postmap cdb:/etc/postfix/transport


4. now you should create ``/path/where/you/place/mail_route_settings/mail_route_settings.py``::

PROJECT_BASE_DIR = '/path/where/project/settings/can/be/imported/'
DJANGO_SETTINGS_MODULE = 'project.settings'
PROCESS_OUTGOING_EMAILS = False
SELF_ADDRESS = 'proxy@kavahq.com'


Settings
========

Some django settings are available for configuration:

* ``EMAIL_HOST``, ``EMAIL_PORT`` — host and port used to "forward" emails
* ``EMAIL_SERVER_DOMAINS`` — list of domains that should be checked for mail forwarding. Example::

EMAIL_SERVER_DOMAINS = ['@42cc.co', '@42coffeecups.com', '@khavr.com']

Not Django settings in mail_route_settings.py file:

* ``SELF_ADDRESS`` — email address of mail_rote. For example if you forwar all emails from somewhwere
to mail_route by bcc`ingthem then you should set ``SELF_ADDRESS`` to bcc address and it will be ignored
when forwarding address(es) is determined
* ``PROJECT_BASE_DIR`` — this directory will be added to PYTHONPATH
* ``DJANGO_SETTINGS_MODULE`` — env variable with same name will be set to value of this setting
* ``LOG_PATH`` — where logs should be saved

Project details


Release history Release notifications

This version
History Node

0.2.12

History Node

0.2.11

History Node

0.2.9

History Node

0.2.8

History Node

0.2.7

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
email-filter-0.2.12.linux-x86_64.tar.gz (20.9 kB) Copy SHA256 hash SHA256 Dumb Binary any Jul 4, 2014
email-filter-0.2.12.tar.gz (9.3 kB) Copy SHA256 hash SHA256 Source None Jul 4, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page