Atmel Software Framework

Installation & configuration of exim (the cygwin SMTP server) on a PC

exim is an SMTP server [a GNU (GPL) software, included with Cygwin]. The following sections assumes that cygwin is already installed on your machine (as part of the AVR32 gnu toolchain).

1) exim installation

  • Login to the Windows machine as Administrator, or as a user with administrator privilege. Make sure the user has a login password already created.
  • Download the setup.exe program from http://www.cygwin.com/.
  • Run the newly downloaded setup.exe program.
  • Select and install to your already installed cygwin directory the following Bin packages only : exim and cygrunsrv.

2) exim configuration

  • Open a Cygwin window (by double clicking the icon), a black screen pops up, type exim-config. Answer the prompts as follows:
    • When asked for "local postmaster", type "Administrator" or type a user name with Administrator privilege.
    • When asked for "fully qualified primary hostname", you can accept the default or type in your machine's FQDN. (i.e. mail.mydomain.com)
    • When asked to "install the exim daemon as a service", answer "yes".
    • When asked to "Enter the period of the queue runner", answer "15".
    • When asked "Do you want the daemon to run with ntsec", answer "no".
    • When asked "Do you want to start the exim daemon as a service now", answer "yes". At this point, the Exim Mail Transfer Agent service (exim) should be running!
  • Now let's check to make sure the exim (SMTP server) is running, type:
    netstat -an | grep  25

    You should see a response like:
    TCP    0.0.0.0:25         0.0.0.0:0          LISTENING

3) exim advanced configuration

  • To allow all internal / networked workstations within your network to use exim as an outbound SMTP server, we need to perform several tasks. The first task is to configure the firewall (if installed as part of Windows XP Service Pack 2 or higher) to allow traffic to pass through.

    Invoke the "Control Panel" and select the "Security Center" applet. If the firewall is not enabled (NOT MONITORED), then there is no need to continue with this section. If however, you have the firewall enabled, click the "Windows Firewall" in the "Manage Security Sections for:" section. In the "Exceptions" tab, click the "Add Port" button. In the dialog box, use a name of "exim" and the Port Number "25". Also, make sure to check the TCP radio button. The "Scope" of this rule should be set to "Any computer" by default.
  • Another task that needs to be completed in order to allow all internal / networked workstations within your network to use exim as an outbound SMTP server, is to edit the file c:\cygwin\etc\exim.conf. Open this file in an editor and modify the following:
    • Find the line:
      hostlist relay_from_hosts = 127.0.0.1
      and change it to
      hostlist relay_from_hosts = 127.0.0.1 : 192.168.0.0/24

      The above modification tells exim to accept emails (for sending) from any workstation with an IP address of 192.168.0.xx. This line could be read as "relaying mail for the subnet 192.168.0.0/24". Please keep in mind that your local network subnet number may be different.

    • Find the line:
      host_lookup = !127.0.0.1/8:*
      and change it to
      # host_lookup = !127.0.0.1/8:*

    • Find the line:
      rfc1413_query_timeout = 30s
      and change it to
      rfc1413_query_timeout = 1s

    • Find the line:
      require verify = sender
      and change it to
      # require verify = sender
  • After you modify and save the file c:\cygwin\etc\exim.conf, restart the exim email server by typing:
    net stop exim
    then
    net start exim

4) exim usage

To start and stop the exim service, respectively use:
net start exim
and
net stop exim


Contact Information

For further information, visit Atmel AVR32.