quickml server: an easy-to-use mailing list system

Last Modified: 2004-10-20 (Since: 2002-02-12)

quickml server is an easy-to-use mailing list system.

What's New


How to Use Mailing List Service

See ml-usage.en.rd.

Supported Platforms

quickml server should work on most Unix platforms. quickml server is tested on Red Hat Linux 7.2, NetBSD 1.5.1, and Debian sarge.



For standard installation, the following commands will do.

% ./configure && make
# make install # with root privilege

You can give parameters to configure if necessary.

--with-user=USER        quickml runs as USER [root]
--with-group=GROUP      quickml runs as GROUP [root]
--with-pidfile=FILE     PID is stored in FILE  [/var/run/quickml.pid]
--with-logfile=FILE     Log is recorded in FILE [/var/log/quickml.log]
--with-rubydir=DIR      Ruby library files go to DIR [guessed]


The configuration file locates at /usr/local/etc/quickmlrc by default. Although there are many parameters, all that you have to change are the only three following parameters.


Set the mail server for mail delivery.


Set the domain name of mailing lists. i.e.. a part of a mail address after `@' mark.


Set the From: address for sending error mails.

How to Use quickml Server


# quickml-ctl start


# quickml-ctl stop


# quickml-ctl restart

Automatic Error Mail Handling

Automatic error mail handling works if you are using qmail or Postfix supporting XVERP extension as a mail server for delivery. quickml server automatically removes a mail address when error mail returns five times from the mail server for delivery. You can change the threshold :auto_unsubscribe_count by editing quickmlrc file.

If you are using qmail, set :use_qmail_verp = true in the quickmlrc file. If you are using Postfix, no additional configuration is needed.

Subdomain Handling

You can create mailing lists with any subudomains you like by employing DNS's wildcard MX feature. To enable the subdomain handling, all mails to any subdomains should be delivered to quickml server. DNS's wildcard MX RR (Resource Record) allows such a delivery.

The following illustrates a sample configuration for BIND. In this example, quickml server runs at ml.pitecan.com (

$ORIGIN pitecan.com.
@    IN MX 10 ml           ; 1
*    IN MX 10 ml           ; 2
ml   IN A  ; 3
     IN MX 10 ml           ; 4


  1. All mails to @pitecan.com are delivered to ml.pitecan.com.
  2. All mails to any subdomains at pitecan.com are delivered to ml.ptiecan.com.
  3. IP address of ml.pitecan.com
  4. MX RR

Mailing List Data Files

Mailing list data files locate at /usr/local/var/lib/quickml by default. The following are basic files.

Special Files

You can create special mailing lists by creating the following empty files.


quickml-analog is a tool to analyze quickml's log and generate charts. gnuplot, ImageMagick, and ghostscript are required.

% quickml-analog -i -o output-dir quickml.log


quickml server is a free software with ABSOLUTELY NO WARRANTY under the terms of the GNU General Public License version 2.

QuickML History

Idea of QuickML emerged from a discussion by Satoru Takabayashi and Toshiyuki Masui. quickml server has been implemented in Ruby by Takabayashi based on the prototype in Perl by Masui. subdomain support was helped by Sohgo Takeuchi.

Satoru Takabayashi