data | ||
.env.example | ||
.gitignore | ||
composer.json | ||
composer.lock | ||
getmappings.php | ||
README.md | ||
redirect.php |
README
Installation
git clone
this repository on to a server with incoming SMTP enabled. I recommend running both a live and test copy. For instance, store in both/usr/local/bin/redirect
and/usr/local/bin/redirect_test
.- In
/etc/aliases
, set up aliases. E.g.:
support: "| /usr/local/bin/redirect/redirect.php"
support-test: "| /usr/local/bin/redirect_test/redirect.php"
- Run
newaliases
as root for the aliases to take effect. - Run
composer install
in the directory to install dependencies. - Copy
.env.example
to.env
. - Open
.env
and fill in the appropriate environment values. Note that for the boolean values (e.g.DEBUG_MODE
), you should leave the values blank for false. - (Optional) Add a custom field in Redmine called "Email Domain" to the Projects entity of type "Text". Populate this with the domain name that emails come from. This catches users from the organization who don't otherwise haev an account.
- Run
php getmappings.php
to test your settings. If you've set everything up correctly, it should populate two CSVs in thedata
folder:domainmap.csv
andusermap.csv
. - If you have special emails that should be handled differently, you can create a
specialusers.csv
file in thedata
folder with the same format as records inusermap.csv
. This file is concatenated on to the end of whatever users come from Redmine. - Set up a cron job to generate the mappings. I run this once per hour:
45 3 * * * /usr/bin/php /usr/local/bin/redirect_test/getmappings.php
45 4 * * * /usr/bin/php /usr/local/bin/redirect/getmappings.php