QwikMail logo
Hosted by:

Current Version:
qwik-smtpd 0.3

Best Version:
qwik-smtpd CVS (0.4)

Main Project Page
Project Downloads
Project Docmentation
Open Discussion
Bug Tracking

Updated: 15 December 2004 by Amir Malik

The QwikMail SMTP server (qwik-smtpd) is intended to be a fast, secure, and efficient mail server (MTA). A word of warning before using this on a production system: DON'T. Until the code reaches 1.0 status, the author makes no guarantee of security. In the meantime, qwik-smtpd is a playground for unique SMTP server implementations that support extensions and/or quirks not found in other production-quality servers.

The current code is believed to be stable and mature from an operational standpoint, despite the fact that it lacks ESMTP functionality. This is no problem because all mail servers are required to understand and correctly implement SMTP. qwik-smtpd implements all the minimum requirements of SMTP. Minimum does not always mean lack of features. The author has decided to only implement core SMTP functionality, with an emphasis on not implementing spam-friendly features such as support for the VRFY verb, etc.

Attention: qwik-smtpd is not considered production-quality because it still has no interal remote mailer. All versions are vulnerable to a security bug that can be quickly fixed by applying this patch, and applying it like so: patch < qwik-smtpd-0.3.patch in the source directory. CVS already contains the necessary bug fixes.

If you would like to suggest features, or help me prioritize what should go into 0.4, send an email to amir142 AT users DOT sourceforge DOT net. You may want to look at the TODO list first.

qwik-smtpd is forked by inetd, xinetd, or a similar super-server to handle connections. The setup is very similar to that of qmail.

qwik-smtpd places messages in to two queue directories: one containing the actual message file and the other containing the control file that lists all of the recipients for that message.

qwik-smtpd itself is just a mail server that accepts connections on STDIN, obviously a server that is listening on the smtp port (25) is needed to pass the socket's STDIN and STDOUT to qwik-smtpd. All that the server does is accepts the mail, and can be configured to accept/not accept mail for a particular user or domain. It can be configured to limit the size of a mail message, number of recipients per message, and if certain hosts are allowed to relay mail through the server, or not.

Take a look at the latest CVS TODO list, or the latest CVS ChangeLog.

27 June 2002: qwik-smtpd 0.3 released!
Upcoming features in 0.4: check out the TODO list
Browse the bleeeding-edge code via CVS: here
Download: here

If you are interested in doing development make some noise on the forums.

For installation instructions see the INSTALL files included in the .tar.gz file, or view the project's documentation.

© 2000-2005 by Amir Malik. All trademarks and copyrights on this page are owned by their respective owners.