ezmlmx
What is ezmlmx?
The reason for Dan Bernstein to create qmail was the slowness of sendmail forwarding mails to subscribers of his mailing lists run by Majordomo. Thus, he raised the ``eazy'' mail listing manager ezmlm making use of the groundbreaking concepts of qmail.
In 1997 Frederik Lindberg enhanced ezmlm with an index facility and published a patch for ezmlm called ezmlm-idx (see also: ezmlm-idx). Here, the mailing list owner could use a Web front-end to manage lists, alongside with publishing the indexed mailings through a public web site.
Later, Bruce Guenter and Fred Ringel joined and their common final release (2014) is now available on Github: ezmlm-idx (7.2.2) including in particular more refined templates to provide multi-language support.
Since about the year 2000, I used ezmlm-idx for a large site efficiently and provide this service also for my mailing lists. ezmlmx is a refactoring of ezmlm-idx (0.44) together with Dan Bernstein's ezmlm (0.53) which is now in the public domain and complementing my own developments.
Features
- ezmlmx comes in the common /slashpackage format for easy installation.
- ezmlmx is now based upon my fehQlibs.
- ezmlmx complies to modern C standards.
- ezmlmx CGI module works now seamlessly on different hardware platforms and supports FastCGI as used by Nginx.
- ezmlmx backends are the standard Unix file system, MySQL, PostgreSQL, and (anticipated) OpenLDAP.
- ezmlmx can be used for any qmail-like MTA (notqmail, IndiMail) supporting the concept of 'dot-qmail' files. It serves as a replacement for the outdated and removed Debian and RPM packages (alongside with not longer available qmail packages).
Note: While ezmlmx is largely compatible with ezmlm-idx some differences do exist, in particular regarding the language templates (which are not modular yet) and the backend services.
Sources
Version & Download | Description | fehQlibs version | Verification |
---|---|---|---|
ezmlm-0.68 (not yet public) | The initial release of ezmlmx based on ezmlm-idx 0.44 (please be patient) | fehQlibs-27+ | MD5: 83f5ced16c58c562b937dbc65ffde385 Build: 20250710124338 |
ezmlmx's source files are documented in doxygen.
Documentation
This available documentation for ezmlmx benefits from Frederik Lindberg's FAQ:
For further information check:
- DJB: ezmlm: The basic framework
- Bruce Guenter: ezmlm-idx Home The original work.
Man pages
ezmlmx comes with a set of concise man pages. In order to become familiar with its concept, start reading ezmlm.
Core programs | Maintenance programs | Backend, WEB, configuration, libs |
---|---|---|
ezmlm-accept | ezmlm-check | ezmlm-grant |
ezmlm-archive | ezmlm-clean | ezmlm-mktab |
ezmlm-confirm | ezlm-cron | ezmlm-cgi |
ezmlm-get | ezmlm-dispatch | |
ezmlm-make | ezmlm-gate | ezmlmrc |
ezmlm-mange | ezmlm-glconf | ezmlmsubrc |
ezmlm-moderate | ezmlm-idx | ezmlmglrc |
ezmlm-receipt | ezmlm-issubn | |
ezmlm-reject | ezmlm-limit | datetime |
ezmlm-request | ezmlm-list | direntry |
ezmlm-return | ezmlm-split | error_str |
ezmlm-send | ezmlm-test | error_temp |
ezmlm-store | ezmlm-testdig | now |
ezmlm-warn | ezmlm-sub | surf |
ezmlm-weed | ezmlm-unsub | surfpcs |
How to install ezmlmx
Prior of installing ezmlmx you need to install the fitting fehQlibs. Please follow instructions here.
- ezmlmx uses D.J. Bernstein's /package conventions for installation.
- Typically, un-tar the archive under /package, change to mail/ezmlmx/ezmlmx-<version> and call package/install.
- ezmlmx is pre-packaged to be 64 bit clean and comes with additional man-pages.
- Set up a language template file for your list. Those are given under ./ezmlmrc. You may customize the one you prefer. Install it with package/control [language].
- Publishing mailing lists via HTTP(S) requires at least a control file ezcgirc. You will find templates in the CGI directory ./cgi alongside with a (primitive) CSS style sheet. Further, ezmlm-cgi needs to be accessible by your HTTP server, typically deployed in cgi-bin.
How to setup mailing lists
Setting up mailing lists is a snap, once you have installed ezmlmx and you are using a supporting MTA like notqmail or my s/qmail.
- Let's call the mailing list: mylist.
- Let's assume you are a usual Unix user (called 'me') on the MTA available to send and receive mails.
- Let's further assume, you like to setup this personal mailing list (not being superuser).
- Of course ezmlmx needs to be installed (at the default location).
- The hostname (MTA) is called 'mx.example.com'.
Under your Unix account, you call:
Thats all! ezmlm works 'multi-tenant'. It makes use of qmail's VERP mechanism
and can be employed on MTA level (using qmail's alias account) or on a personal level.
Here, all mails belong to the user 'me' and you have entire control of your mailing list.
Awesome! It is federated! No black magic involved.
Now, you can publish your mailing list under your account name: me-mylist@mx.example.com.
Of course, much more options can be used, like digest-lists.
ezmlm-make allows to cope with those.
Rather, most settings can be facilitated by changing the configuration
files and your dot-qmail files. Have a look at the comprehensive FAQ.
Tickets, Change Requests, communication
An Ezmlmx mailing list keeps you updated with current developments, bug fixes, and features discussed. This list also can be used to file
- Defects (bug reports) and
- Change Requests (enhancements).
To inscribe use the: ezmlmx mailing list
As usual, I can't guarantee a certain response level; but reasonable issues will be answered.