New Features


2.10.7


2.10.6


2.10.5

HTMLArea support has been replaced with FCKeditor.


2.10.4

RSS feeds are now 2.0, up from .91; Atom feeds are now 1.0, up from .03.


2.10

Whiz-bang version:

http://dadamailproject.com/features/2_10/

Sending Options

Time between batches can now be less than a second. Archiving

Viewing Attachments supported.

Inline Images support.

Security - Archived messages are pruned of javascript exploits before being viewed.

Discussion messages will show a link to the message being replied to.

The Iframe that holds the HTML version of the archived message can now be turned on/off by a per-list setting.

Previous/Next Links corrected.

Styled quoted text (for plaintext messages)

Email addresses in archives are encoded to stop email harvestors. dada_bridge.pl

CC, Bcc Infinite Loop Bug Solved.

Initial moderation supported -

Moderators in Dada Mail: a sublist of email addresses that can also send to an announce-only or discussion list without having to be on the subscription list itself. dada_bounce_handler.pl

unsubscribed message sent to list owner and former subscriber Message Sending

``I'm sure'' and ``Open in a New Window'' checkbox options now available in the, ``Send a Webpage'' and ``Send a List Invitation'' screens. List Messages

[list_confirm* tags are, ``Correct'' HTML Templates

Furious combed through for syntactic correctness and neatness. Should be almost 100% XHTML compliant. Deprecated Items Removed

The %STYLE hash in Config.pm has been completely removed.

checklist() javascript function removed.


Version 2.9

Syndication

Of all the features of Dada Mail, I'm actually excited about this feature the most.

Why? Because this feature turns a mailing list manager with archiving abilities into something truly amazing. Think about it:

You send a message out, the message gets archived. It now exists as two things:

An email message, destined to your subscribers inbox, and content on your website.

With the addition of RSS Syndication, it also exists as part of an RSS feed, anyone can pick up.

2.9 adds the following to this mix:

So, to get back to our, ``what happens to your mailing list message'' train of thought -

Message gets delivered, message gets archived, message is syndicated, update services are notified.

Some of these update services, like http://technorati.com have a search engine, of just syndicated information for you to search through - Dada Mail let's Technorati know a new message has been sent, the message gets placed in Technorati's search results - in almost real time - truly incredible.

If you haven't noticed - this is almost exactly what a weblog does - sans perhaps the trackback URL and comments on the individual entries. The advantage of using Dada Mail is obviously the whole, ``it's first and foremost a mailing list manager'' - I still believe that there's greate value in using a Mailing List Manager. Used correctly, mailing list messages are really really useful.

Send an archived message to a friend feature - rewritten

Most of mail.cgi was rewritten, but I wanted to spotlight the Send an Archived Message to a Friend feature, which has been entirely rewritten; to sort of go with the above, your message is also resendable from visitors of your site, to their friends.

mail.cgi - rewritten (basically)

We didn't mean to, but the mail.cgi is rewritten. It weighs in almost 100k less than the previous version. Wow!

Browser-based HTML Message Editor

HTMLArea, a browser-based WYSIWYG editor can now be integrated easily into Dada Mail. This means you can write richly formatted HTML, right in your web browser. The program has limited support for copying/pasting formatted text from products like Microsoft(tm) Word.

Instructions are here:

http://dadamailproject.com/support/documentation/Config.pm.html#html_area_integration___htmlarea_url

List Screens

Archive Screens

Email Formatting

Dada Mail now has an honest to goodness Email Message formatter that is completely MIME aware.

What's this mean? It means that your list templates will be applied correctly. It means that attachments work. It means your messages won't be flagged by email filters for poor formatting. It means you don't have to be an expert (really) on how to format email messages. You just need to write them.

More on this subject -

Using SpamAssassin as my test ( http://spamassassin.org ), I've been working on making Dada Mail's messages score better on the various torture tests it puts email messages, destined for your mailbox through. I used Spamassassin because it's well documented and is the basis of many commerical products, as well as it's own Open Source implementation.

To be direct and honest, my work on Dada Mail was not to apply tricks to get through SpamAssassin and other filters, but to use best practices when it comes to formatting email messages. Again. No tricks. None. Best practices - yes!

Some tests were surprising to me; for instance, a message formatted in HTML, but not having a proper format - ie: no start/end <head> tag, no start/end <body> tag, no start/end <html> tag get a significant penalty. Because of this, Dada Mail will now make sure that all HTML messages sent using the program will comply to this standard.

Another test that was surprising to me was finding out that HTML messages sent out without a PlainText version (known as a multipart/alternative message) get a similar rather significant penalty. Because of this, all HTML messages, sent using Dada Mail will include a PlainText version of the message automatically - meaning, you don't have to worry about it.

Path Infos

Many, many many of the Query Strings in Dada Mail - and not only in email messages, use a path info, instead of a query string. Here's a real example:

Query String Version:

http://justinsimoni.com/cgi-bin/dada/mail.cgi?flavor=archive;list=announce;id=20040604025003

Path Info Version:

http://justinsimoni.com/cgi-bin/dada/mail.cgi/archive/announce/20040604025003/

Both of these URLs go to the same screen.

Another example:

Query String Version:

http://example.com/cgi-bin/dada/mail.cgi?f=n&l=announce&e=justin%40example.com&p=8911234

http://example.com/cgi-bin/dada/mail.cgi/n/announce/justin/example.com/8911234/

Slightly shorter. Nicely shorter.

The email address is also now embedded within the URL, instead of being blatantly encoded in - notice the, %40 in the query string version. %'s in URL's are a big no-no for some services, like AOL. Hopefully, that problem is fixed now

VERP support

A nerdy feature, here's a nerdy description:

http://cr.yp.to/proto/verp.txt

In summary, VERP support means that we embed the recipient of a mailing list message into the Return-Path header of the message itself.

This is neat because:

Fast List Switching

If you have more than one list, log into one of them using your Dada Root Password. You'll see on the right hand side a little widget to switch to the other lists available with a simple click. Handy.

Batch Notification Enhancements

You can now be notified after every x batches are completed, instead of every batch. Seems like a silly feature, unless you have a large lists and small batches.

Batch notices should also now include:

Internal Templates

A very large and very justified complaint about Dada Mail was that most of the HTML of the program was embedded in the Perl code itself. This makes customizing, editing and translating the display text next to impossible.

We are very happy to announce that most (~ 95%) of the display text used in Dada Mail has been templated out!

This has several advantages:

Some of the more notable templated out HTML are:

Subscriber Help Screen

There's a new screen in Dada Mail to help would-be subscribers make sure they actually receive the email confirmation message. Basically, it points out how to add the list owner's email into the address book/white list/safe list/whatever-it's-called of their email reader. I don't have even the beginning of all the mail readers available, but it's better than nothing. Here's a real world example:

http://justinsimoni.com/cgi-bin/dada/mail.cgi/subscriber_help/announce/

The whole idea, again, is not to trick or hack about the problem, but to face the problem, and come up with a solution. Mail readers filter/flag email messages coming through, sometimes they suck at it - here's a way, using the mail reader to work around such suckage.

HTML Screens - XHTML Compatible

The original look and feel of Dada Mail was basically finalized in version ONE of the program. Since then, minor tweaks have been done to the design, but it's basically been the brown header, and content in a small, hairline bordered table.

The design itself was pretty good for 1999, whipped up by some 18-year-old punk, but times have changed and web browsers have caught up to web standards and there's better ways to format things than tables within tables within tables.

Saying that, The default Administration Template and List Template are completely xHTML Transitional compatible. Much work has been done to make sure every screen validates.

The design itself has been refreshed slightly, fonts are somewhat larger and screen real estate is being taken more advantage of. You won't be too lost using Dada Mail 2.9 if you're upgrading from an earlier verison, but it's a welcome surprise.

Some of the smaller enhancements are as follows:

Log In Security

If the needed parts are available (you'll need Perl 5.6), Dada Mail now saves the log in information NOT in the cookie, but rather in what's called a session file. What's this mean? It means you're not passing the list name and (encrypted) list password back and forth from the server to your web browser every time you access the list admin control panel. Depending on how you look at this, this is either a secuirty enhancement or a security hole blocked. I'll leave that up to you;

Developer Stuff


Version 2.8.12

Version 2.8

Features Added:

Bugs Fixed

Version 2.7.1

Version 2.7

Version 2.6

Version 2.6

Version 2.5.1 8/22/01

Version 2.5 4/22/01

Version 2.4.6 2/13/01

Version 2.41 1/24/01

Version 2.4 1/18/01

Version 2.32 12/6/00

Version 2.31

Version 2.3 11/20/00

Version 2.2 10/24/00

Version 2.1.1 9/24/00

Version 2.1 9/1/00

Version 2.01 8/9/00

Version 2 8/7/00