This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Exim binary available

A compiled version of Exim 3.33, a Mail Transfer Agent
similar to sendmail, is available on
 in /pub/pc/gnuwin32/cygwin32/porters/Humblet_Pierre_A/V1.1 

This experimental version will eventually be submitted to 
Cygwin's setup, assuming major problems don't arise.
Here is the README if you are interested.


What is Exim?
A fully featured mail transfer agent, a drop-in replacement
for sendmail.

Where is the documentation?
Exim has 
- a web site with a FAQ
- a searchable mailing list
- a book (632 pages)

How to install and run Exim?
Setting up a simple mailer for a single host is straightforward 
1) Download the exim-3.33-cygwin-1.3-bin.tar.gz and untar it in /
   Executables and dll go in /usr/local/bin
   All the Exim log and work areas are under /usr/local/exim
   The mail spool directory is configurable in /usr/local/exim/configure
       The default is /var/mail
2) This port of exim requires the perl dll (from Cygwin's setup)
3) Rename /usr/local/exim/configure.sample to configure and add 
   your fully qualified hostname on the "primary_hostname =" 
   line. Uncomment that line.
   Read the rest of configure to see some of the available options.
4) Create or edit /etc/aliases
   Define at least postmaster: your_login_name
5) On Win95 and NT only, the nameserver ip address(es) must 
   appear in /etc/resolv.conf on line(s) starting with 
   "nameserver" (without " ").

On Win95/98/Me and on WinNT/2000/XP without ntsec
6) Launch the exim daemon, e.g. exim -bd -q15m &
   On WinNT/2000/XP you can also use cygrunsrv
   cygrunsrv -I exim -p /usr/local/bin/exim.exe -a "-bd -q15m"
   cygrunserv -S exim
   ( see /usr/doc/Cygwin/cygrunsrv.README )
   The command line documentation appears in
7) Mail User Agent programs can use exim to send local and remote mail

On WinNT/2000/XP with ntsec you need to be more careful.
6) /usr/local/exim/configure must be owned by System
   Other users cannot have write access (through group or world)
   but must have read access.
7) The daemon must run as a service (or be able to setuid)
   Specify CYGWIN=netsec when installing the service
   cygrunsrv -I exim -e CYGWIN=ntsec -p /usr/local/bin/exim.exe -a "-bd -q15m"
8) Due to file permission settings (there is no suid in Windows), 
   Mail User Agent programs cannot use exim directly. They should 
   smtp to exim on localhost (port 25) for both local and remote mail.
   Uncomment "# host_accept_relay = localhost" in configure.
9) Directory and File default permissions are set to 0755 and 0644.
   This is necessary for operation without ntsec but can be changed 
   in the configure file (for message related files) or from the shell 
   (for directories and permanent files, after exim has created them).
10) Only members of the Administrators group can send signals 
   to exim launched as a service 

Many advanced features, including the built-in perl
interpreter, have not been tested.
Known bugs
Exim cannot handle $ characters in paths
What if it doesn't work?
Get the book....

Look at the log files in /usr/local/exim/spool/log

Follow the testing section (4.15) in
Turn -d 11 on, it's instructive to watch what happens

If -d is passed to the daemon running as a service, 
output will be in /var/log/exim.log by default

Identify the source of the problem. Recompile with -g
and use gdb if necessary, Exim forks subprocesses. You
can debug them by using jump in gdb to avoid the fork().

Write to pierre.humblet at 
(cc to the list) if the problem is related to the port:
- dns lookup
- locking or opening databases or files 
- binary/text mode issues

I will do my best to answer & fix but make no promises. 
The executable will be withdrawn if too many problems 

Building from sources
Sources patched for Cygwin are available on

There are three Cygwin specific files in the os subdirectory.
Necessary include files that are not part of Cygwin are
in the include subdirectory. Copy them under /usr/local/include

To build exim type "make" in the main directory.
Exim uses a non-traditional configuration and makefile
building process. Read the documentation.

"make install" requires root to appear in /etc/passwd.
If it doesn't, run make install twice and ignore the 
chown error message.

The minires package, a simple resolver (partially replacing 
bind) that can be used with exim  is also available. 
The .dll and .a files are placed under /usr/local in the 
exim bin tar file. The resolv.h file looks for macros
(RES_STATIC or ALL_STATIC) to control the type of library to
expect. The default is to use the dll.

Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]