Dada Mail 2.x to Dada Mail 3.x Guide

Dada Mail 2 to Dada Mail 3 Guide


This guide is to help you transition between Dada Mail 2.x to Dada Mail 3.x. It's not a list of new features, but rather a list of old features that have been removed and replaced and new ways of doing the same old thing.

The hope for transitioning between Dada Mail 2.x and Dada Mail 3.x is to be quite problem-free. Most all changes (at least to us) seem to be for the better and outright incompatibilities have been kept to an absolute minumum.

We still would like to hear your accounts on upgrading and any feedback you'd like to give us, using the usual channels.


SQL Schema

The SQL Schema for most modern versions of Dada Mail 2.x (say, Dada Mail 2.10 and above) should work well with Dada Mail 3.x. Notable differences are that some of the tables now include a table Index. You may want to look at the schema directly and make any changes you would deem needed. There is no SQL table translater for Dada Mail 2.x to Dada Mail 3.x.

The SQL schemas themselves are now saved in the following files:

You may also want to review the SQL configuration information in the documentation.

Send a Message screen

There's only one version of this screen, there's no longer a, "Basic" and, "Advanced" version.

The option to create an HTML version of a message from a PlainText message has been removed.

There are now three hard-coded areas to add attachments. There's no longer a way to add more attachments. A workaround would simply to take advantage of support for the FCKeditor for HTML messages that can be written easily.

Send a List Invitation screen

The, "Send a List Invitation" screen has been removed from the left hand menu.

Instead, list invitations are an option at the end of the, "Add Email" progression of screens. This should give you a better idea on who exactly will receive your list invitation.

There's also two checkboxes, that allow you the option to choose if you actually use the PlainText or HTML version of the invitation message.

Email Message Templates


Almost every single email message template default is store in the file. A few notable exceptions are a few email message templates used for Dada Bridge and Mystery Girl (Bounce Handler)

Email Template Syntax

In its core, all email message templates use HTML::Template ( as the template engine and any of its template syntax should work with Dada Mail's email message templates.

Email Template Tags

The following tags are currently not valid for email message templates:

The above tags will be automatically converted when moving from Dada Mail 2.x to Dada Mail 3.x, but do remember that their support will be completely dropped in future versions

Sendmail Settings - defaults for mass mailings have changed!

In Dada Mail 3.x, the default mail settings have changed. There are now two separate mail settings, one for mass mailings - when you're sending to a lot of people at once and one for everything else.

The mail settings for mass sending are saved in the Config variable:


The mail settings for everything else is saved in the variable:


By default, the $MASS_MAIL_SETTINGS sets the, -o, -d and -q flags, which should help Dada Mail be a nicer server citizen.

Mass mailing will seem slower. If mass mailing does NOT work at all, or you cannot tolerate this slowdown, feel free to change the $MASS_MAIL_SETTINGS to reflect what's in the $MAIL_SETTINGS variable.

Global List Sending

The Global List Sending feature has been removed. Do look at the Partial List Sending feature, that will allow you to send to part of your list, given a query of yoru Subscriber Profile Fields, which basically gives you sublist support. Which is probably a lot handier.

FCKeditor Support

Make sure to use the latest version of FCKEditor. FCKeditor support should be available in the following screens:

Plugin/Extension Configuration Variables

The config variables for the following plugins/extensions:

Are now in the, $Plugin_Config hashref, in the plugin/extension itself.

You may also set these variables in the and/or the outside config file, via the $PLUGIN_CONFIGS variable.

Plugin/Extension Cron Settings

Plugins/Extensions that need to have a cronjob created all have a similar format for how they have to be called.

You also now have the option to call all these plugins via a URL (and incidentally, using something like curl or wget). This should help solve many of the environment issues with these plugins, such as setting the correct absolute path in the cronjob, setting the perl lib paths in the script itself, permissions issues with the script running as a different user when invoked by the cron daemon, etc. Coupled with the ability to set any configurations needed outside of the plugin itself, this should make upgrading a plugin as easy as replacing the script itself.

Mystery Girl (Bounce Handler)


Bounce Scorecards are now list-centric. The score on one list for a particular email address will not impact the score on a separate list.

Clickthrough Tracker Plugin

The Clickthrough Tracker is fully functional in Dada Mail 3, although the Redirect URL format is different and the older URL format probably won't work anymore.

Deprecated Plugin/Extensions

Plugin: email_list_owners.cgi

This plugin hasn't been updated in quite a while and doesn't seem to be very popular. It may be removed in a future release.

Plugin: multi_admin_subscribers.cgi

This plugin currently doesn't know about Subscriber Profile Fields, so it's suggested that you NOT use this plugin, if you use Subscriber Profile Fields. Those fields will most likely be lost when you make any new subscriptions/unsubscriptions using this plugin.

The above issue may need to be resolved, or, we may drop support for the plugin. What do you think we should do? (Let us know)

Plugin: mx_lookup.cgi

This plugin currently doesn't know about Subscriber Profile Fields, so it's suggested that you NOT use this plugin, if you use Subscriber Profile Fields. It may be dropped in a future release of Dada Mail.


This extension currently doesn't know about Subscriber Profile Fields, so it's suggested that you NOT use this extension, if you use Subscriber Profile Fields.

The codestyle of this extension is also atrocious.

This extension will probably be dropped in a future release.

It's suggested that if you need similar functionality, just make an either manual or automatic backup of the directory you're storing your Dada Files in. It's also suggested to use the SQL backend, which is going to offer a myriad of choice for fault tolerance.


This extension will be deprecated, in favor of folding it's functionality into the core of Dada Mail, or into Dada Bridge. The extension has several shortcomings, including little flexibility on how digest messages are formatted, having to use two lists to make a digest, not having the ability for members of the digest list to post to the non-digest list, etc.


This extension is just weak. It is deprecated and will be removed in a future release.

Extension: update_subscription.cgi

This extension currently doesn't know about Subscriber Profile Fields, so it's suggested that you NOT use this extension, if you use Subscriber Profile Fields.

This extension will be removed from future versions of Dada Mail, if favor of folding similar functionality into the core of Dada Mail, or into a plugin for Dada Mail. Editing of subscription information by the subscriber should be a larger view to take when replacing this plugin and currently isn't something that can be done in Dada Mail.

See Also


Technical Documentation

The nerdy Perl API has changed drastically (and probably, for the better) in 3.0. Most likely, if you had a custom Perl program for Dada Mail 2.x that was using the API, it has now been broken.

Subscriber Backend

For the Mailing List Subscriber API do consult:

Which should be fairly complete.

Templating System

The HTML Screen and Email Template parts of Dada Mail all use the same system. See:

And also:

Dada Mail Project