Xmail Server

Davide Libenzi

<collabname>Michael Hartle</collabname>
<collabname>Shawn Anderson</collabname>
<collabname>Dick van der Kaaden</collabname>

Edited by

David Bitton

Version 1.0

Copyright © 2001 Davide Labenzi

Gnu Public License.

$Date$

Revision History
Revision 0.1 2001-09-24
First Edition

Table of Contents

I. Introduction
1. License
2. Overview
3. Features
4. Porting Status
II. Configuration
5. Requirements
6. Getting Sources
7. Build


Part I. Introduction

Introduction

Table of Contents

1. License
2. Overview
3. Features
4. Porting Status


Chapter 1. License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA


Chapter 2. Overview

This server born due to the need of having a free and stable Mail Server to be used inside my old company, which used a Windows Network. I don't like to reinvent the wheel but the need of some special features drive me to start a new project. Probably if I could use a Linux server on my net, I would be able to satisfy my needs without write code, but this is not my case. It should be also portable to other OSs, like Linux and other Unixes. Another reason that drove me to write XMail is the presence of the same steps in setting up a typical mail server, ie : sendmail + qpopper + fetchmail if one needs SMTP, POP3 and external syncronization, or : sendmail + qpopper for only SMTP and POP3 ( I've quoted sendmail, qpopper and fetchmail, but there are many other packages You can use to reach these needs ). With XMail You get an all-in-one package with a central administration that can simplify the above common steps. The first code of XMail Server is started on Windows NT and Linux, and now, the FreeBSD and Solaris version ready. The compilers supported are gcc for Linux, FreeBSD and Solaris and M$ Visual C++ for NT/2K.


Chapter 3. Features

  1. ESMTP server

  2. POP3 server

  3. Finger server

  4. Multiple domains

  5. Users don't need a real system account

  6. SMTP relay checking

  7. SMTP RBL maps check (rbl.maps.vix.com)

  8. SMTP RSS maps check (relays.mail-abuse.org)

  9. SMTP ORBS relay check (relays.orbs.org)

  10. SMTP DUL map check (dialups.mail-abuse.org)

  11. SMTP protection over spammers ( IP based and address based )

  12. SMTP authentication ( PLAIN LOGIN CRAM-MD5 POP3/SMTP and cusparam )

  13. SMTP ETRN command support

  14. POP3 account syncronizer with external POP3 accounts

  15. Aliases

  16. Mailing lists

  17. Cusparam mail processing

  18. Locally generated mail files delivery

  19. Remote administration

  20. Cusparam mail exchangers

  21. Logging

  22. Multi platform

  23. Domain message filters

  24. Cusparam ( external ) POP3 authentication


Chapter 4. Porting Status

Right now the Linux and NT ports are stable, while the Solaris and FreeBSD ones have not been tested like the previous OSs.


Part II. Configuration

Configuration

Table of Contents

5. Requirements
6. Getting Sources
7. Build


Chapter 5. Requirements

Any version of Linux that has glibc. Windows NT with ws2_32.dll correctly installed. A working DNS and gateway to the internet ( if You plan to use it ). To build for Linux You need any version of gcc and glibc installed. To build for Windows You need MS Visual C++ ( for which as workspace file is provided ) or any other working compiler that has support for the Microsoft Platform SDK.


Chapter 6. Getting Sources

Always get the latest sources at the XMail home page www.xmailserver.org coz You're maybe using an old version. Use the correct distribution for Your system and don't mix Unix files with Windows ones coz this is one of the most common cause of XMail bad behaviour. When You unzip the package You've to check that the MailRoot directory contained inside the package itself is complete ( look at the directory tree listed below ) coz some unzippers don't restore empty directories.


Chapter 7. Build

In Windows NT I give You a project that can be loaded from Visual C++ while in Linux ( and other Unixes ) I give You a Makefile.lnx ( for now ) :

Win32

You can uncomment the statement "#define SERVICE" in MainWin.cpp to build an executable that can run as a service. Then You can run :

XMail --install

to install XMail as a manual startup service or :

XMail --install-auto

to install XMail as an automatic startup service. If You run --install and You want XMail to run at NT boot You must go in ControlPanel->Services and edit the startup options of XMail. Once You have the service version of XMail You can run it in a "normal" way by executing :

XMail --debug [options]

Linux

# make -f Makefile.lnx

Sun/Solaris

# make -f Makefile.sso

Note

You need GCC to build on Solaris

FreeBSD

# gmake -f Makefile.bsd

Note

You need GCC and GMAKE

Notes

The above will build XMail and tools executables. As soon as the project reach a higher maturity I plan to supply a configure script. Under Linux an init.d startup script is supplied ( xmail ) to allow You to run XMail as a standard rc? daemon. You must put it into /etc/init.d ( it depends on which distro You're using ) directory and then create K??xmail - S??xmail links into the proper directories. Under Windows NT