Module provides proxying emails from external addresses to local ones according to ``django.contrib.User`` emails
1. Install emailfilter to your project's environment. If your env should be activated by hand, then create script (``mail_route.sh``) like this::
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
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``::
Then update cdb map::
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 = 'email@example.com'
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
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.