[[ShowPath]] [[PageOutline]] = Mail server configuration = It depends on your Mail Transfer Agent (MTA) how the setup. == Postfix == The procedure is: * Edit your alias definition file (default : /etc/aliases) for Postfix and add one line per project you want to allow ticket submission from email to. For each alias you can specify: * --project: This option selects a configuration stanza in the [wiki:Email2tracConfiguration config file] * --ticket_prefix: [https://subtrac.rc.sara.nl/oss/email2trac/wiki/Email2tracConfiguration#Defaultvaluesforticketfields Default values for tickets] * --eggcache: Set the enviroment for the python egg cache directory. This must be writeable by the trac user. {{{ tracproj: "|/usr/bin/run_email2trac [--project=] [--ticket_prefix=] [--eggcache=]" }}} * Update your alias database with command ''newaliases'' * '''Hint''': Please note that postfix seemingly runs commands from the alias definition file as user "nobody", even if the rest of it is running as user "postfix". So please assure that the MTA_USER is set to nobody, not to postfix! === Note for postfix === `run_email2trac` is totally unnecessary for Postfix. You can run a delivery command as any user just by placing the aliases in a separate file and `chown`ing that aliases file to the user you want the delivery to run as. Then you run `postalias /path/to/aliases`, which will create `/path/to/aliases.db`, and you then just add `hash:/path/to/aliases` to the `alias_maps` config variable in `main.cf`. The only caveat is that the user who owns the separate aliases file needs to have write perms to the directory that it's stored in (which rules out putting it in `/etc/postfix` unless you're nuts) -- mpalmer@hezmatt.org. == Sendmail == The procedure is: * Edit your alias definition file (default : /etc/mail/aliases) for Sendmail and add one line per project you want to allow ticket submission from email to. For each alias you can specify: * --project: This option selects a configuration stanza in the [wiki:Email2tracConfiguration config file] * --ticket_prefix: [https://subtrac.rc.sara.nl/oss/email2trac/wiki/Email2tracConfiguration#Defaultvaluesforticketfields Default values for tickets] * --eggcache: Set the enviroment for the python egg cache directory. This must be writeable by the trac user. {{{ tracproj: "|/usr/bin/run_email2trac [--project=] [--ticket_prefix=] [--eggcache=]" }}} * Update your alias database with command ''newaliases'' === Note for Sendmail === 1. Your sendmail might look like it's running as root (using 'ps') but you should use the "id trick" detailed at https://subtrac.sara.nl/oss/email2trac/ticket/126 to double-check. You may well see that sendmail actually runs as user 'daemon' so you need to re-run configure and rebuild. This is probably your problem if you see "unknown mailer error 254". 2. This is a message from emailtotrac tickets archive: {{{ Sendmail limits the executables that can be run via aliases to those in a special directory, and runs them using a restricted shell called smrsh. On RH, the default location for the allowed programs is /etc/smrsh. I tried both a link in that dir to the run_email2trac file and a little shell script that simply calls run_email2trac and passes the params. Both should work, but neither did yet. Majordomo works the same way, and it set up on the machine already so I'll check on that later today. I found a pretty good walk-through of the problem/solution at http://archives.free.net.ph/message/20030605.105120.74c3bfa8.html Well, I was in fact doing the right thing. Here's all the steps to follow post make install ln -s /usr/local/bin/run_email2trac /etc/smrsh/run_email2trac in aliases use: "|run_email2trac -project=bas" Note: Include the quotes, they are necessary. That got me past the sendmail problem. No ticket appeared in the project, but I'll look into that next. Is there a log generated anywhere? }}} == Exim Setup == As with Postfix, `run_email2trac` is unnecessary. Instead of editing the `/etc/aliases` file, one must create a router and a transport. My own Debian-compatible configs follow. Slight modification should make them usable for you. {{{ theblackbox:/etc/exim4/conf.d# cat router/101_exim4-config_trac_gw trac_router: driver = accept require_files = /usr/local/bin/email2trac local_parts = support transport = trac_transport theblackbox:/etc/exim4/conf.d# cat transport/30_exim4-config_trac trac_transport: driver = pipe command = /usr/local/bin/email2trac current_directory = /tmp home_directory = /tmp user = www-data group = www-data theblackbox:/etc/exim4/conf.d# }}} -- alexander (here insert a squiggly 'at' thing) garden.msbx.net == Fetchmail Setup == For those of you that installed the mail server on a different server than the subversion/trac server, you might want to use fetchmail instead. I have succeeded by simply set the mda value in ''/etc/fetchmailrc'' to run_email2trac {{{ poll with proto IMAP|POP3 and options no dns user '' there with password '' is '' here options ssl mda "/usr/local/bin/run_email2trac" }}} you need to specify mta_user to fetchmail user when you configure email2trac previously. === Using procmail with fetchmail & email2trac === You may want to filter bounced messages from ever getting to email2trac, otherwise you can end up in an infite loop. Simply change your mda in your .fetchmailrc to procmail and create a .procmailrc like this: {{{ PATH=/bin:/usr/bin:/usr/bin MAILDIR=$HOME/Mail #you'd better make sure it exists DEFAULT=$MAILDIR/mbox #completely optional LOGFILE=$MAILDIR/from #recommended :0 h b * !^FROM_DAEMON * !^X-Loop: your.email2trac@emai.address | /usr/local/bin/run_email2trac }}} Now only messages that aren't from a daemon or bounced will make it to email2trac. == Qmail Setup == qmail has .qmail files for each user. /var/qmail/mailnames/domain/ will have a list of user directories, each of which contains a .qmail file. In the .qmail file for your trac user, insert the following: {{{ |preline "/usr/local/bin/run_email2trac [--project=] [--ticket_prefix=]" }}} Preline is a qmail helper that appends proper email headers to emails, in order that "traditional" filtering programs can deal with qmail emails. jason hat (-h) decorati.com On some qmail installation this won't work 'cause run_email2trac isn't able to change uid to the trac-user. So, first of all there should be a sudoers for the user calling it: {{{ popuser ALL = (wwwrun)NOPASSWD: /usr/local/bin/run_email2trac }}} Change ''popuser'' to the user the qmail helper runs as. {{{ |PYTHON_EGG_CACHE= /var/qmail/bin/preline /usr/bin/sudo -u wwwrun /usr/local/bin/run_email2trac }}} Of course don't forget required --project option :). The PYTHON_EGG_CACHE variable should point to a area the trac user may write. If you don't need it, remove this. ral at alwins-world dot de == Test Setup == In the source distribution there is a file ''msg.txt''. You can use this file to test the email2trac configuration: * Test with a command like : {{{ email2trac --project=tracproj < msg.txt }}} If this command succeeds then email2trac is setup correctly, else you received an error on stdout or syslog, depends on your [wiki:Email2tracConfiguration email2trac.conf] setup. The next step is to test the MTA setup. Use an email client to mail to the address you setup for email2trac, eg: subtrac@sara.nl