From Request Tracker Wiki
Jump to navigation Jump to search

Lets say you want to be able to create new queues without having to touch your sendmail configuration. This how-to will allow you to send a mail to [] to Correspond to tickets, and [] to work those tickets via email You will need to set [=Set($UnsafeEmailCommands,1);] in your if you wish to take full advantage of this. Read the perldoc documentation of rt-mailgate for full details on using EXTENSION with rt-mailgate.

This howto assumes you have a dedicatd domain for RT configured in sendmail. We'll use

  • First add a rt3 user to receive all mail directed to RT. This is so we can have a custom .procmailrc for RT. adduser rt3 -g rt3
  • In /etc/mail/virtusertable add the following lines: rt3+%1 +* rt3+%1.%2
  • Rebuild your map files in /etc/mail make -C /etc/mail

These virtusertable entries redirect all mail for the domain to the rt3 user. Using "plushack" (known here as EXTENSION) we can tell rt-mailgate what queue we're working with. As a bonus, we use a period as a delimiter on the back-end for separating the queue name from the list of actions. End users won't see the period in email addresses, nor should they use them.

  • Create a .procmailrc in the rt3 user's homedirectory containing the following: # Uncomment VERBOSE and LOGFILE for debugging, they're helpful at times. <h1>VERBOSE=1</h1> <h1>LOGFILE=$HOME/.procmail.log</h1> LOCKFILE=$HOME/.procmail.LCK ARG1=$1 EXTENSION=<code>echo $ARG1 | awk -F. '{ print $1 }'</code> SUFFIX=<code>echo $ARG1 | awk -F. '{ print $2 }'</code> <h1>if no list of actions, default action is correspond</h1> :0 <ul> <li>? test -z "$SUFFIX" |/opt/rt3/bin/rt-mailgate --extension queue --action correspond --url</li> </ul> <h1>Otherwise, if we DO have a list of actions, run with them.</h1> :0 E <ul> <li>? test ! -z "$SUFFIX" { :0 |/opt/rt3/bin/rt-mailgate --extension queue --action $SUFFIX --url }
  • Notes
  • Configure your Set($rtname,'');, Set($Organization,''); and your [=Set($RTAddressRegexp,'$');] to the same catch-all domain in virtusertable. I also turn on [=Set($ParseNewMessageForTicketCcs,1);] so that RT auto-assigns people in the To:/Cc: address fields when someone opens a ticket via e-mail.

    • BUGS

    Mail sent to will vanish, without an answer.