[[ShowPath]] [[PageOutline]] = Email2trac on Windows = Using email2trac on Windows requires three components -- A way to receive/gather email, the email2trac script, and a script or batch file that will schedule email2trac to process emails (i.e. automate the process). == Email component == This will vary depending on whether the email server and Trac are on the same server. If they are not on the same server, a way to gather the email is necessary. Two common options are to install the built-in SMTP server or to use an email gathering tool such as Fetchmail. === Built-in Windows SMTP server === Install the SMTP server (NOT the POP server), so that emails are received and left as files in the "drop" folder. This is the way the email server hands off email between the two services. In a way, email2trac performs the distribution functions normally handled by POP. To install the SMTP service via Windows Components: * Open Add/Remove Programs (Start->Control Panel->Add or Remove Programs) * Click Add/Remove Windows Components in the left-hand bar. Use the "Details..." button to drill into Application Server->Internet Information Services (IIS)->SMTP Service. * Check the box next to SMTP Service, click "OK", "OK", "Next", "Finish". If any additional configuration is needed, configuration can be done in the IIS Manager (Start->Control Panel->Admistrative Tools->Internet Information Services (IIS) Manager). Sample configuration of "Default SMTP Virtual Server": * Domain Name: trac-server.domain.com * Type: Local (Default) * Drop folder: C:\Inetpub\mailroot\Drop (.eml files) * Email address: xxx@trac-server.domain.com In this configuration, anything sent to the email address with the trac-server subdomain should be automatically forwarded from the email server to the local SMTP server. If your Trac email address is formatted differently or is not forwarded automatically, you will need to configure your main email server to do so. === Fetchmail === [http://fetchmail.berlios.de/fetchmail-man.html Fetchmail] requires [http://cygwin.com Cygwin], a Linux-emulation layer, to operate on Windows. Cygwin installation is straight forward as is adding the fetchmail package, but [http://lifehacker.com Lifehacker's] [http://lifehacker.com/software/top/geek-to-live--introduction-to-cygwin-part-i-179514.php Introduction to Cygwin] and [http://lifehacker.com/software/gmail/geek-to-live--back-up-gmail-with-fetchmail-235207.php Fetchmail] articles are very helpful tutorials for getting Cygwin installed and adding the fetchmail package. Fetchmail options can be set in the command line or using a .fetchmailrc configuration file, .fetchmailrc. Sample .fetchmailrc file: {{{ poll mail.domain.com with proto IMAP, auth ntlm user "trac@domain.com" with password "xxx" is trac here options keep mda "C:/python25/python.exe C:/projects/email2trac/email2trac.py" }}} .fetchmailrc should be put in a location accessible to fetchmail, such as /home/trac (Cygwin path). Note that in this setup, email2trac acts as the MDA (or MTA) and automatically processes mail as it is retrieved. == Email2trac Script Setup == Obtain a copy of the script, either by downloading the [ftp://ftp.sara.nl/pub/outgoing/email2trac.tar.gz latest stable source] or getting the latest [https://subtrac.sara.nl/oss/email2trac/browser/trunk trunk] or [https://subtrac.sara.nl/oss/email2trac/browser/tags/0.13 tagged] version. Unlike in a *nix environment, email2trac on Windows does not have to be built or packaged to work. Only the following files are needed: * email2trac.py.in * delete_spam.py.in * email2trac.conf Put these files in the directory of your choice, e.g. C:/projects/email2trac. Rename email2trac.py.in to email2trac.py and delete_spam.py.in to delete_spam.py. A couple edits are necessary for email2trac.py to work in the Windows environment. 1. Specify the email2trac configuration file path (around line 1060 in version 0.13). The specificity of the path required depends on how you are retrieving emails -- if you are using fetchmail, you will need to specify the complete path (i.e. C:/projects/email2trac/email2trac.conf). {{{ #configfile = '@email2trac_conf@' configfile = 'email2trac.conf' }}} 2. (For versions prior to 0.13 only) Comment out the syslog import (around line 95 in version 0.10). {{{ #import syslog }}} === Email2trac Configuration === There are many [https://subtrac.sara.nl/oss/email2trac/wiki/Email2tracConfiguration configuration options] for email2trac, but the following are necessary for email2trac to work properly. {{{ project: C:\projects\trac\environmentname tmpdir: C:\tmp ticket_update: 1 python_egg_cache: C:\Python25\Scripts trac_version: 0.11 }}} The tmpdir can be anything, but should already exist. The trac_version variable is important if you're running trac 0.11 so that you don't receive an error like "str object is not callable". See [https://subtrac.sara.nl/oss/email2trac/ticket/34] for more information about the background of this one. == Process Automation == Automation of email processing is dependent upon your email setup. === Built-in Windows SMTP server === Create a batch file (e.g. C:/projects/email2trac/email2trac.bat) to process emails in the "drop" folder. {{{ @echo off for %%f in (C:\Inetpub\mailroot\Drop\*.eml) do python email2trac.py < %%f del C:\Inetpub\mailroot\Drop\*.eml }}} Change the paths or email file extension as necessary to reflect your setup. Then use Windows Scheduled Tasks to run this batch file on an automated basis. === Fetchmail === Create a batch file (e.g. C:/projects/email2trac/email2trac.bat) that calls fetchmail, specifying the path to the fetchmail configuration file and, optionally, a logfile to log the fetchmail process. {{{ C:\cygwin\bin\fetchmail -v --fetchmailrc C:/cygwin/path/to/fetchmailrc --logfile c:/projects/email2trac/fetchmail.log }}} Use Windows Scheduled Tasks to run the batch file on an automated basis. Note: This content came from [http://groups.google.com/group/trac-users/browse_thread/thread/6877a04f2d5ff2cb/ a discussion] on the Trac Users Group. A big thanks to Matthew Carlson for his detailed help. - Nicole Swan (nicole DOT swan AT gmail.com)