wiki:MailToTracPlugin

Version 4 (modified by k0s, 5 years ago) (diff)

--

Pluggable email handler for Trac

Description

provides a command line script and extension point that allows email messages to be handled by Trac plugins. This ticket provides a command-line script, mail2trac which may be called by an MTA (e.g. postfix) to open a Trac environment and run through each enabled IEmailHandler and executes its invoke() method if its match() method returns True. If invoke returns an email message, then subsequent IEmailHandlers will also process the message. If None is returned, then the message is consumed and execution stops.

To enable the plugin for postfix, add an appropriate line to the aliases file (usually /etc/aliases or /etc/postfix/aliases and then refreshing the aliases database (see man aliases). The mail2trac script takes a -p command line argument for the path to the project environment. The incoming email address should equal

[notification]
smtp_replyto =

in the trac.ini file.

As an example, if smtp_replyto is set to foo@example.com and the project is in /var/trac/bar, the aliases file on example.com should have a line like

foo: "|/path/to/mail2trac -p /var/trac/bar"

Why not email2trac?

EmailToTracScript is a more mature solution for converting email to Trac tickets. When building the GeoTicketPlugin, I was originally hoping to make use of the EmailToTracScript to allow emails to specify a location in the subject header (see: source:geoticketplugin/0.11/geoticket/mail.py). When I realized the architecture would not easily support this, I thought of forking it, then realized that an implementation from scratch would actually better serve my needs.

MailToTracPlugin offers:

  • a real pluggable architecture that allows arbitrary email handlers to be plugged in
  • POSTing to a URL to avoid complicated setuid issues with MTAs
  • outside of configuring postfix and MX records (always fun!) an easy installation

While mail2trac is less mature, to the front-end user there shouldn't be considerable difference for the case of creating and responding to tickets. From a development point of view, I would recommend mail2trac over email2trac as a point to build on since a pluggable architecture was the point since the beginning.

Bugs/Feature Requests

Existing bugs and feature requests for MailToTracPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from here.

Source

You can check out MailToTracPlugin from here using Subversion, or browse the source with Trac.

Example

email2ticket is an example IEmailHandler plugin to convert an email message to a ticket.

Recent Changes

[10898] by zitune on 2011-11-10 14:29:33
should improve python2.4 compatibility, see #9527
[10884] by zitune on 2011-11-07 10:13:16
mail2trac adapt according to encoding in header
[10883] by zitune on 2011-11-04 17:44:08
correction after bad merging

Author/Contributors

Author: k0s
Contributors: