v6.x Changelog


Summary 6.8.1

This is a bug-release focused release.

Changes 6.8.1

Dada Mail distro now hosted on Sourceforge

We've moved the Dada Mail distro download from Google Code to Sourcefore, as Google Code does not allow new downloads to be created.

json and jsonp clarifications

Dada Mail's jQuery plugin for subscribing to a mailing list had a fairly big problem, if you wanted to use it in a cross domain setup. Since it was calling the RESTful API using jsonp and sending data via POST, the POST payload would not actually work, as jsonp only supports sending information via GET.

We've adjusted the plugin and the RESTful API to work correctly when accessing it either with the json and jsonp method. See the docs on the jQuery plugin for more details on any modifications you may have to do to your own code:


Amazon SES New Endpoint/Region Support

Amazon SES recently gave support to use the service with new regions, Dada Mail now supports the three new regions that now also support SES.

List-Unsubscribe Header

We've changed the List-Unsubscribe header to include both a mailto: link set to the List Owner's email address, as well as the full List-Unsubscribe URL.

Past versions only included the List-Unsubscribe URL.

Log Viewer: Timestamps/Labels Fixed for Mass Mailing Logs

v6.8.0 introduced support to save the mass mailing logs Dada Mail creates, when sending out a mass mailing. Earlier versions just deleted this log, when the mass mailing was finished/canceled. Because this log could provide an interesting insight on how the mass mailing went, we made it an option to save the log to look at later, using the Log Viewer plugin that comes with Dada Mail.

Unfortunetly, we goofed on actually displaying the date the mass mailing was sent on, in the Log Viewer's pulldown menu - the date shown would probably be something completely random, making the job of figuring out which log went to what mass mailing difficult.

This should now be fixed.

.htaccess in file uploads directory

We've changed the directives in the .htaccess file used to keep the file uploads directory secure. The old directives looked a little like this:

    <IfModule mod_php4.c>
    php_value engine off
    <IfModule mod_php5.c>
    php_value engine off

Which potentially won't do anything.

It now looks more like this:

    +Options -ExecCGI
    +AddType text/plain .php .phtml .php3 .pl .cgi

Confirmation Dialog box when only archiving a message

Past versions of Dada Mail would show a confirmation dialog box, asking if you want to, "Send Mass Mailing?" when you wanted to simply archive a message, and not send it out. Clicking, "OK" would still only archive the message, but the label on the dialog box was still incorrect. It now simply states, "Archive Message?" if all you are doing is archiving a message.

Bugfixes 6.8.1


Authorised senders get an error from bridge.cgi



Features 6.8.0

Rich Text Editors and Web-Based File Browsers

Dada Mail supports multiple rich text editors, allowing you to easily author email messages with formatted text, images and simple layouts. Dada Mail also supports uploading images from your own computer, to your web server and placing those images into your mailing list messages, using one of the included web-based file browsers.

CKEditor Upgraded to v4.3, TinyMCE Upgraded to v4.0.11, FCKeditor retired

This release of Dada Mail upgrades two of the included rich text editors: CKEditor has been upgraded to v4.3 (from v3.x), and TinyMCE has been upgraded to v4.0.11 (from v3.x). This release also retires FCKeditor, which has been superseded by CKEditor.

These new rich text editors visually look much better than their predecessors and should provide additional functionality to help you author beautiful messages.

One of the features we really enjoy is allowing you to toggle between seeing visible blocks showing the underlying structure of your message, without having to delve into the source code of the message itself.

Another feature that can prove useful and time-saving is the ability to simply drag an image into the rich text editor window to place the image into your message. Both CKEditor and TinyMCE support this. We've tested this with Firefox on the Mac, but other browser may also be supported.

We've also set up these rich text editors to have full page support, meaning you can now edit both the body of the message, as well as the head. This is important, if you want to use more advanced HTML email authoring techniques, like responsive designs and images.

CKEditor: Template Tag Dropdown Menu

Also look for the new Tags drop down menu in CKeditor (not currently available in TinyMCE). This drop down menu allows you to easily select and place one of Dada Mail's template tags. Template Tags are an advanced feature of Dada Mail, allowing to create dynamic messages based on subscriber profile information (First Name, Last Name, etc).

Core5 Labs FileManager Support

We're also shipping an additional web-based file browser called, FileManager. These file browsers are what allows you to view files on your server to either select an image to add to your message, or to select an attachment to go along with your message.

Dada Mail has shipped with the KCFinder file browser (and still will), but some users have had problems with it working correctly. With the addition of FileManager, we should now have a great alternative to utilize.

More information on FileManager:


Learn more about the rich text editors and web-based file browser support in Dada Mail:


Bridge 6.8.0

The Bridge plugin transforms a Dada Mail mailing list from an announce-only mailing list, where you send message through Dada Mail's own List Control panel, to a full-blown discussion list, where members can send a message from their own mail reader (whichever one they'd like!) and have it sent to the entire mailing list, creating group discussions. Bridge can also be used for an announce-only mailing list, allowing the List Owner, and/or a seperate list of addresses, called Authorized Senders, to send messages to your mailing list, without allowing your Subscribers to do the same.

Read about the Bridge plugin: https://dadamailproject.com/d/bridge.cgi.html

This version of Dada Mail supports many difference enhancements:

Moderators and Authorized Senders

Moderators, a separate list of addresses from your Subscribers, can now be created. They're only job is to view incoming messages, and moderate them: choosing what gets allowed to be posted, and what doesn't.

This job used to be the job of the Authorized Senders sublist, but to make things easier and more flexible, we've made split these tasks into two separate sublists.

Authorized Senders are still around: a separate list of addresses who' members are allowed to send messages to a mailing list, without having to be a member of the Subscribers, themselves. Say you have an announce-only mailing list, where you'd like to give permission of just a few people in an organization to send messages to the mailing list. All you need to do is add them to your Authorized Senders and give them the List Address to send to. No need to give them login access to the List Control Panel.

In discussion lists, you now also have the option to moderate incoming messages, except for those messages from an address that's a member of your Authorized Senders.

On Behalf Of (p.p. Mode)

Bridge also has a new discussion list option called, On Behalf Of (p.p. Mode). We're big fans of the Amazon SES email sending service, but the service is set up to allow accept messages from addresses you've verified using their own system. This is fine for a few addresses, but can be unrealistic for an entire discussion list, whose members may number in the hundreds, or even thousands. When p.p. Mode is enabled, messages will be sent out on behalf of the List Owner, allowing you to set up a discussion list with Amazon SES.

Message Received Notification Message

Bridge also now allows you the option to send out a, "Message Received" message, telling the original poster that their message was delivered correctly, and will be sent out as soon as it can.

Sometimes, large or busy mailing lists will have the scenario, where messages take longer than possibly expected to be delivered. This may lead to the original poster assuming the message was never actually delivered - so they'll send the message again - perhaps more than twice! This leads to multiple postings of the same message, not something you'd want. The, "message received" notification message helps to confirm the original poster that their message has been received without a problem.

Amazon SES Auto-Adjust Batch Sending Rates

Dada Mail supports sending email using a variety of methods: one of these methods is using the Amazon Simple Email Service. Amazon SES allows you to a large amount of messages, fast, with great deliverability for a low cost.

Read more about Dada Mail and Amazon SES, see: https://dadamailproject.com/d/features-amazon_ses_support.pod.html

Dada Mail already self-adjusts its batch sending rates, to work with Amazon SES's set limits. As SES's limits grows, so will your sending speed.

In this release, we've optimized the auto batch sending rates, so that mass sending speeds in Dada Mail start out faster, and then ease back slowly, so that you never go over the limit imposed by SES.

For mailing lists whose membership is smaller than the daily limit you have with SES, this gives you a much fast sending rate. For example: say you have a list of only 500 members. The default sending rate for SES is up to 5 messages/second, and 10,000 messages a day.

Prior versions of Dada Mail would send at a rate of around 375 messages/hour - fast enough that you won't go over your daily limit, and giving a little wiggly room to allow you to send other messages (subscription confirmation, other transactional messages, etc) Your mass mailing would still take around an hour and a half to complete, even though your SES limits would allow you to send well above this limit: remember, you can send up to 5 messages/second!

In this version of Dada Mail, that same mailing list of 500 members would send in minutes, rather than hours, as Dada Mail will start sending messages at 5 messages/second, rather than 1 message every ~10 seconds. Big improvement!

This faster sending rate will also help signal Amazon SES's system that you're using your resources to their maximum allowed usage. This in turn will signal SES to actually give you more resources to use, raising your limit, and allowing your to send more messages/day with a higher per-second limit. All this will happen, automatically, as you send out your messages.

Mass Mailing Logs: save-able and viewable in the Log Viewer plugin

When sending out a mass mailing, Dada Mail creates a log of the activity of the mass mailing. This is a separate log for the usage log, and the error log, since it only pertains to one specific mass mailing, and also this log could be very, very large!

In past versions of Dada Mail, this log was simply deleted, when a mass mailing was finished. To help with understanding more complex issues with your mass mailing, this log can now be optionally saved, after the mass mailing is completed, and easily viewed using Dada Mail's included Log Viewer.

Highlighting in the list control panel's menu

Dada Mail's List Control Panel let's you do a LOT of things, and there's many different screens to work with. To help you remember where you are, and what you've clicked on, we now highlight the screen's title of where you're currently at, on the left-hand menu.

Change 6.8.0

Clickthrough Tracking: URLs in image maps tracked

URLs for links in image maps weren't tracked by Dada Mail. These URLs should now be properly tracked.

Bugfixes 6.8.0

Profile Fields, "Name" validation not validated for case-ness



Summary 6.7.2

This release is primarily a bugfix release.

This release also brings back the option to enable/disable tracking clickthroughs for email address links (mailt:someone@example.com), which was added in v6.3.0, and then mysteriously disappeared. The default is to disable clickthrough tracking for these types of links.

Bugfixes 6.7.2

"Send a Message" screen shows errors when trying to save drafts, with default backend



Summary 6.7.1

This release is primarily a bugfix release.

Bugfixes 6.7.1

"Unsubscriptions" option" " If an unsubscription is successful, redirect to this URL: " does not work


Dada permits illegal email addresses to be added like "user@myname. com"


">>" characters in the button label: "Subscribe Checked Subscribers >>" cause mod_security to trigger on form submission



Features 6.7.0

Mass Mailing: Save as Draft

In past versions of Dada Mail, it was always awkward to keep an unfinished copy of your message: You would either have to keep a browser window always open with this message, save your message in a different place (in a text file on your computer), or use another, hand-rolled solution.

Now, Dada Mail supports saving unfinished messages, called Drafts. Rejoice!

Dada Mail can now save a Draft message right in the "Send a Message" or "Send a Wepage" control panel screens. Messages are also auto-saved every minute, in case your browser window is inadvertently closed by accident. Draft messages will also be saved whenever you send out a test mass mailing, and waiting for you, whenever you come back to send out the message to your subscribers.

An unlimited number of draft messages may also be saved, viewed and edited.If you want to start over, you also may cancel the message and delete the draft.

All form fields and widgets available to you in the "Send a Message" and "Send a Webpage" screen are saved when a draft is saved, including: message headers, your message bodies (both PlainText and HTML), and all the other Options available: Archive Options Partial Mailing List Sending Options, File Attachments, and Testing Options.

Mass Mailing: File Attachments

File Attachment uploading is now handled by the included KCFinder web file manager. This allows you to easily upload attachments before sending a message out, as well as attach files already uploaded.

Attachments can now also be removed from your messages easily.

This is a marked improvement over the previous system of just providing a file upload widget, which allowed you to only select a file on your desktop to upload. A new system for file attachments was sorely needed, if we ever wanted to get the Save as Draft feature in Dada Mail.


Dada Mail's included installer allows you to install, reconfigure, and upgrade Dada Mail, without having to touch a single (often confusing to users) config file.

This installer features support for a large subset of the global configuration variables supported by Dada Mail itself, and we're constantly working on supporting more and more of the global variables an features.


Dada Mail has shipped with support for its own CAPTCHA system, as well as support for the reCAPTCHA service (http://www.google.com/recaptcha). Dada Mail also has support for the related reCAPTCHA Mailhide system (https://www.google.com/recaptcha/admin#mailhide), to protect email addresses in its public message archives.

The included Dada Mail Installer now allows you to configure the CAPTCHA system that comes with Dada Mail. These options are located under the, Advanced Configuration (Optional) heading, and is available in our Pro Dada distribution.

We're shipping Basic Dada Mail with only Amazon SES configuration available in, Advanced Configuration. We're really hoping you love Dada Mail enough to go and get a copy of Pro Dada:


jQuery Dada Mail Subscription plugin

Dada Mail now ships with its own jQuery plugin, to easily create subscription forms, as well as handling the requests inside a modal window, rather than being redirected away from your main website to Dada Mail.

Dada Mail uses the jQuery plugin itself - you'll notice it in action on subscription forms handled by Dada Mail, in the app itself.

The jQuery plugin has 100% support for graceful degredation: if a user uses Dada Mail without having JavaScript enabled, the subscription process will work very similary to how it worked before the jQuery plugin enhancements were put in place.

See the Subscription Cookbook docs for more information about this plugin:


Changes 6.7.0

Send Mass Mailing Buttons: Always on Top

In previous versions of Dada Mail, buttons used to Test, or Send out Mass Mailing were located at the bottom of the screen, after what could be a very long form, forcing you to scroll down, to submit your message.

Now, the group of buttons in the, Send a Message and Send a Webpage screens always float on top of the form itself, making it easier to always have Draft Saving/Canceling and Mass Mailing Testing/Sending available to you.

Subscription Requests Approving/Denying Options

Dada Mail's Subscriptoion Request system allows you to approve subscriptions to your mailing list.

Options for Subscription Requests Approving/Denying have now been expanded:

You may now set a custom Rediect (with, or without a query string) for Subscription request approvals, or denials.

You may now also set custom HTML to be shown to let your users know their request must be approved by the List Owner.

Expanded RESTful API

The RESTful API for mailing list subscriptions has been expanded to include support for custom URL redirects, as well as working with situations where additional information is required from a user, to successfully complete a request.

A Javascript/jQuery example is also provided, that supports all these new fancy bells and whistles.


Summary 6.6.1

This is a bugfix-only release, that focuses on bugs found in the subscription process, most notably problems with custom URL redirects.

Changes 6.6.1

Subscription Process: 60+ more unit tests

We ran into a few problems with the subscription process, which recently had a larger overhaul. While fixing the problems, we added around 60+ new unit tests to the 40+ that were already there for this part of the app, to help make sure additional problems won't crop up.

Included CPAN Module Upgrades

CGI::Session to v4.48

GI::Session::ExpiredSessions to v1.13

Bugfixes 6.6.1

Verify Subscribers Screen shows double header



Summary 6.6.0

This release of Dada Mail focuses on three main features:

Features 6.6.0

Mass Mailing Enhancements: Sending Error Detection and Reporting

Dada Mail has enhanced its sending error detection during mass mailings. Due to how many messages go out during a mass mailing and how fast you may be sending out these messages, problems with mail sending could potentially happen. Historically, Dada Mail has been less than bright than it could be when handling and reporting these problems.

Dada Mail is now tuned to catch addresses causing problems and perform some intelligent tasks:

Problems?! Try again.

If a message to an address is not sending out correctly, Dada Mail will now wait a small period of time (a few seconds), and try sending twice more. This should help with any very temporary problems dealing with your mail system itself (your own MTA, an outside SMTP server, or service like Amazon SES). Hey, things happen, every once in awhile. The idea is that brief hiccups on your end, shouldn't mean a subscriber misses receiving an important message from you.

Still having problems? Give it a rest and try again, one more time

If, after three tries sending the message, the message still doesn't get sent, Dada Mail will now temporarily stop it's entire mass mailing process and start again, after a slightly longer amount of time (a few minutes). This is to make sure there isn't a problem with Dada Mail itself - the resources its taking on the server, or any other very strange, very fringe problems.

After this wait, Dada Mail will start its mass mailing process at the address that was having the delivery problems and try for another round of three more times - just to make sure. If this is successful, great! Business as usual. If the address fails in sending, the address is logged, and skipped over and the next address is then sent to.

Sending Error? Log and Report.

This is a marked improvement over what Dada Mail has done in the past: basically do nothing very intelligent when an address fails during sending. Addresses that fail are now reported, using the Tracker plugin, which allows you to see exactly which addresses are causing problems (this data can be exported as a .csv file, as well!) and what percentage of your total mailing list is having problems with sending errors.

Now that you know this information, you can then take some action to fix it. The majority of problems on cheap, shared hosting platforms are related to mass mailing speed: you're sending too fast.

This is also the eaisest types of problem sto fix, as Dada Mail supports changing how fast a mass mailing goes out, through it's batch sending system. For more complicated problems, you can then look in Dada Mail's error logs for more details - Dada Mail's Log Viewer plugin also makes this easy.

Track it.

Since sending errors are now reported, the reports created by the Tracker plugin can now be more accurate. Message opens, bounce rates, etc. percentages now do not count addresses that failed to even be sent out by Dada Mail, giving you a better idea on how many messages were interacted with, compared to how many were sent out, correctly (rather than the full total).

Feedback Welcome!

We're sure we'll be getting a lot of feedback from users that are just noticing that they may be having problems on their end with sending. We're hoping that armed with this new data, that deliverability will increase.

Tracker plugin enhancements: Sending Errors

Along with logged Sending Errors, the Tracker plugin has been updated to report those errors in a easy-to-digest way:

"The Basics" Pie Chart

Sending Errors are first shown reported, per message, in the first Pie Chart at the top of the screen. The pie chart is composed of Delivered Messages, Hand/Soft Bounces, as well as addresses that had Sending Errors.

Sending Errors are also reported in the right-hand table, under, Sending Errors as both the total number of Sending Errors, and the percentage compared to how many addresses were sent to.

"Sending Errors" tab

Sending Errors also has its own tab, underneith, The Basics. This tab will both list the addresses where Sending Errors happened, as well as a pie chart, broken down by domain. There's also an option to export these addresses as a .csv file.

Other Tracker changes: more accurate report percentages

The Tracker plugin now shows percentages to the nearest tenth of a percent, rather than rounding up numbers to the nearest whole number. This helps in getting a better picture of what's happening with your mailing list: things like Sender Errors, Bounces and Unsubscribes could be a very small amount of activity, when compared to how large your mailing list is.

Working with Subscribers: More Powerful Tools

List Owners now have much more powerful tools to work with individual subscribers of their mailing lists, as well as the ability to work across different mailing lists. The completely rewritten Membership screen now has four separate tabs to work with your mailing list member: Membership, Subscriber History, Mailing List Activity, Profile.


The Membership tab allows you to work with the email address of one of your mailing list members. Here, you may Add, Update or Remove the address for your mailing list. A Dada Mail mailing list is actually composed of many different sublist types. So, for example, when you send a mass mailing out, you're sending a message out to your Subscribers sublist.

But, Dada Mail has other sublists that provide different roles. For example, Dada Mail's Black List allows you to have a list of addresses that aren't allowed to join your list. This is also known as a, Suppression List

The, Authorized Senders sublist is a list of addresses that are allowed to send out a message from their own mail reader, without having to log into Dada Mail, that then gets delivered to your Subscribers (this is done with the Bridge plugin, which is bundled with Dada Mail)

The Membership tab allows you to Add/Update/Remove addresses across these sublists. If you're logged into a mailing list with the Dada Mail Root Password, you'll also be able to do all things things, across all your mailing lists.

Dada Mail is smart when allowing you to work with the addresses that make up your mailing list, as these addresses are the most valuable asset of the whole system. Checks are done to make sure you're not going to mess up subscriptions, and all these functions only happen after Dada Mail validates your request and you confirm the changes.

Listed in the Membership tab will be all the sublists an individual email address is a member of, for the Mailing List you're currently logged into. Be aware that one address may be a member of multiple sublists.

For example, an address may be both a Subscriber (Subscribers receive mass mailings sent to the mailing list), an Authorized Sender (Authorized Senders are able to send messages via Bridge, as well as moderate messages sent via Bridge to a mailing list set up as a discussion list), as well as being on the White List (Only White Listed members are allowed to subscribe to a mailing list).

An address could also be simply on the Black List, with no permission to be a member of your Subscribers, until they're first removed from the Black List and added to the Subscribers sublist.

If an address is currently on the Subscription Requests sublist, they will be awaiting approval from the List Owner to join the Subscribers sublist. You may Approve or Deny this request on this screen as well.

Subscriber History

Dada Mail logs the subscriber history of an address: when the address was added/updated/removed from one of your mailing lists and their underlying sublists. This, "paper trail" helps out when painting a picture of how this address has become a part of your mailing list. Information recorded includes the time of the add/update/removal, IP address of the request, and what exactly was done with the address.

This information can also be exported in a .csv format, to be opened and worked with, in any application that understand this format - things like Excel or other spreadsheet applications.

If you have logged into your mailing list with the Dada Mail Root Password, you may view the history for the mailing list you're currently logged into, as well as all mailing lists - the latter can also be exported to .csv format.

Mailing List Activity

The, Mailing List Activity tab shows you how the subscriber has interacted with the mass mailings you've sent. Things like, Opens, Clickthroughs, Unsubscriptions, Sending errors, Hard/Soft Bounces are tracked for each message you send out. This information is shown for each recent mass mailing that's sent.

Like the Subscriber History, this data can also be exported in .csv format, to be opened up in an outside application. Data that's exported includes the data and time of the activity, what type of activity this was, if it was a clickthrough, what URL was clicked through, the message id of the message, as well as the IP address the subscriber was coming from.


The Profile tab allows you to work with the Subscriber's Profile. Dada Mail's Profile system allows you to save additional information, other than an email address, that's association with your subscriber. These fields are pretty free-form, so you can add whatever you'd like: First Name, Last Name, City, State, Favorite Color, etc.

These fields can be edited by the user themselves, as well as in this tab. You may also change the password used by your user to access their own information.

RESTful Subscription Interface EXPERIMENTAL

Dada Mail has a new EXPERIMENTAL RESTful interface to its mailing list subscription system, which should allow you to use it as a service in another app of yours. For more information, see the Subscription Cookbook docs:


Examples of how to use this API are included, written in JavaScript and Perl. A fully-functioning demo, complete with all the trimmings is also included in this release, that you may use to explore the service.

Earlier REST and SOAP experimental client/server scripts, located in the dada/extras/scripts/subscribe have now been removed. For this new RESTful interface, no additional scripts are needed to be installed.

Administration Screen changes

Changes have been made to the, Administration screen - if you are already logged into a mailing list, you'll be redirected to the default list control panel screen (usually, Send a Message), rather than to the Administration screen, that simply tells you you're logged in and provides a link to go this same screen.

Black/White List Definition Changes

The Black List can currently hold email addresses,


or parts of email addresses, like this:



It wasn't entirely clear what was meant by, "part" of an address, so this has been clarified:

The part of an email address must include the, @ symbol, to remove the ambiguity of if you want to Black List the user or domain part of the address and something like this doesn't happen:


So the following are now not valid Black List (or White List) entries:



If you do have entries like this in your current Black List/White List, they simply won't do much of anything.


Enable Debugging Options

The included Dada Mail Installer now allows you to enabled Debugging Options for Dada Mail. These debugging options add extra log information in Dada Mail's own error log, and includes both modules that make up Dada Mail, as well as bundled CPAN Perl modules. This option is located under the, Advanced Configuration (Optional) heading, and is available in our Pro Dada distribution.

JSON module installed if needed

The JSON CPAN modules are used heavily in Dada Mail, but is not installed by default on many hosting platforms. To make things easier, the Dada Mail Installer will look to see if they're already installed system-wide and if they're not, it will move a bundled Pure-Perl version of the modules into its own perllib, thus making it available to be used. This saves some time from having to manually doing this same thing yourself, every time an upgrade is done.

It's still suggested to install the JSON Perl module yourself to get the XS-version for speed, either manually, or using cpan/cpanmin

Changes 6.6.0

The Dada Mail Manual

The Dada Mail Manual has been updated to reflect the major overhaul fo the Membership list control panel screen.

The, Using Tracker chapter has also been updated to reflect the new features in this released (logging and reporting Sending Errors)

The, Mailing Sending - Options screen has also been updated to reflect the current options available.

Profile Fields

In previous versions of Dada Mail, the app had a curious, if not downright broken behavior when it come to Profile Fields:

If a subscriber was a member of one mailing list, and was then subscribed to another mailing list, any saved Profile Fields tied to that address would be lost - even if that new subscription didn't have any new Profile Fields passed to Dada Mail.

This behavior has now changed:

If an address, that has saved Profile Field information, and is subscribed to a mailing list, that original information will now be preserved. If an address is subscribed, but had no profile field information saved, any new information would then be saved.

It's unclear yet what to do with a subscriber, that has saved Profile Field information that's subscribed to another mailing list, along with new Profile Field information - should the new information be used instead? Should the old information be kept? Shoudl some sort of sophisticated folding of data happen? Should it be a pref. somewhere? (per mass import, in the list control panel?)

We're not sure yet, but we encourage feedback.

uncompress_dada.cgi script

The helper script named, uncompress_dada.cgi is kept intentionally simple, so as to be super-quick to download, and easy to read along, if little niggling changes need to be made for your environment. We've changed a few things to make things more flexible:

Some people moving from Basic Dada Mail, to Pro Dada mail noticed that if BOTH the dada-6_x_y.tar.gz distro and pro_dada-6_x_y distro are present in your installing directory, the dada-6_x_y.tar.gz will be used, causing confusion. uncompress_dada.cgi will now explicitly look for the pro_dada-6_x_y first.

Bugfixes 6.6.0

"Your Request For Subscription is Complete" HTML screen completely missing



Mass Mailings sometime Reload, without end - browser says, "Reloading Mailing..."



Summary 6.5.2

This release aims to fix a definite problem when sending mass mailings: there seems to be a large pause between submitting a mass mailing (say, from the "Send a Message"screen), and when the mass mailing actually starts up fully, to get sent.

This pause stems from Dada Mail's new confirmation token system, which it seems we're still breaking in and tuning up to be perfect. All confirmation tokens used for the unsubscription link are specific to the mailing list, subscriber, and mass mailing they're sent out in - that way, you can track unsubscribes, per mass mailing, which is a great tool to have.

The token creation takes a bit of time - maybe 30 seconds (on my rig) per 10,000 addresses. Not a big deal, with a list of 10,000 addresses total, but the lag gets really obvious on larger lists. Lag is one thing, but what's also happening is that Dada Mail doesn't refresh to the mailing monitor screen anymore (it seems) - rather, it'll just hang out on the, "Send a Message" screen, seemingly indefinetly, while you're waiting for something to happen. Even worse, it sometimes refreshes to a blank screen. Definetly not acceptable.

So, this release is out to answer that problem: instead of all the confirmation tokens being created at one time (when the temp. copy of your mailing list addresses is also made), which is what causes this slowdown, the tokens are now made right when they're needed - right before the individual message is sent out. The time to make all these tokens is most likely the same, but a few minutes spread out over a few hours of sending time isn't going to be very noticeable - Dada Mail will most likely adjust its sending speeds to conpensate for any slowdown, automatically, anyways.

One worry is that since saving these tokens takes place in the SQL backend you're running, attempting to keep an SQL server connection alive for so long won't work. Thankfully, the MySQL backend has an, "auto reconnect" setting enabled in Dada Mail, and most people are running Dada Mail w/the MySQL backend. If the connection does still fail, Dada Mail should stop sending in a somewhat clean way, and the mass mailing will pick itself up, after a slight delay, and try again, with the address it left off on.

We do look forward to the feedback towards this change - so send that in!

This release also fixes an issue with the Bridge plugin - a bug was introduced in the v6.5.1 release, with trying to workaround another issue with Bridge:

When Bridge is run on it's cronjob schedule, it'll check for awaiting messages and send anything that's been sent to the List Email's inbox. There is a limit on how many messages Bridge will look at, in one run - and by default, it's very conservatively set to only 1 message. If you have > 1 mailing lists using Bridge, that are both somewhat active, whatever mailing list is checked first will hog up Bridge's quota of looking at messages and your second list will never be checked. Bad news.

So, to counter that, instead of always looking at the mailing lists in the same order (alphabetically, basically), Bridge now will look at mailing lists in a more random order, giving all your mailing lists a fair shot at being checked.

We bobbled on implementing the, "randomness" of this all and Bridge wouldn't work at all. Egg on our face.

If you're running Bridge, do look into using a Mail Forward, rather than a POP3 account for your List Email: messages are received instantaneously by Brige (rather than Bridge checking things on a schedule), and you won't fall victim to any queue problems, like this fix hopes to mitigate:


Bugfixes 6.5.2

Mass Mailing takes a very long time to setup, UI fails to refresh to Mailing Monitor screen.


Bridge does not run manually/on schedule after v6.5.1 upgrade



Summary 6.5.1

This release features severeal fixes for JavaScript incompatibilities when running Dada Mail within Internet Explorer.

Users of Dada Mail have reported that many of the screens in Dada Mail's list control panel are completely unusable, when using Internet Explorer. This release hopes to fix those historical problems.

Bugfixes 6.5.1

Javascript in dada_mail.js has Internet Explorer-Specific Bugs



Summary 6.5.0

Features 6.5.0

Enhanced Installer: More Configuration Options

This version of Dada Mail features many additional configuration options available when using the included Installer:

New Plugin: Global Config

Global Config is a new plugin for Dada Mail. It allows you to easily drop back into Dada Mail's included Installer, letting you reconfigure Dada Mail's global configuration.

This plugin itself can be installed via the Dada Mail Installer. Spooky.

Client-Side Form Validation

Dada Mail now includes the jQuery Validation Plugin, and uses this plugin for client-side form validation in the Dada Mail Installer, Subscription Form, Create a New List form, and the various Dada Mail Profile forms. (Server-side validation is still there)

Mailing List Switcher Form Enhanced

Dada Mail now includes the Select2 jQuery Plugin, and utilizes it in the Mailing List Switch Form you'll see in the upper right hand corner of the List Control Panel. With this plugin, it's now easier to find the mailing list you'd like to work with, especially if you have many dozens of mailing lists running on your Dada Mail. The enhancement allows you to search through the available mailing lists, rather than just simply scrolling through them.

Plugin: Bounce Handler

Admin Menu: Bounce Scorecard Count Shown

The number of addresses on the Bounce Scorecard is now shown beside the admin menu for the Bounce Handler

More Rules!

Around 15 new rules have been added to the Bounce Handler. Bounce Handler rules are used to correctly sort out and understand the bounces the Bounce Handler receives.

Changes 6.5.0

JavaScript Changes

Installer-specific JavaScript: Removed from main, "dada_mail.js" File

Installer-specific JavaScript has been removed from the main, "dada_mail.js" file, creating a smaller "dada_mail.js" file.

new, "dada_mail.user.js" file

The, "dada_mail.user.js" file holds JavaScript for user-facing Dada Mail screens. At the moment, this is most client-side form validation for various user forms, including the Subscription Form.

The following new HTML can now be seen in the head of the list_template.tmpl

        <script src="<!-- tmpl_var SUPPORT_FILES_URL -->/static/javascripts/vendor/jquery-1.11.3.min.js"></script>
        <script src="<!-- tmpl_var SUPPORT_FILES_URL -->/static/javascripts/vendor/jquery/jquery.validate.js"></script>
        <script src="<!-- tmpl_var SUPPORT_FILES_URL -->/static/javascripts/dada_mail.user.js"></script>

You may optionally add these lines to your own List Template to gain the same client-side valiation, but this is entirely optional.

Documentation on these lines will be made available, once the stable release of v6.5.0 is made.

Plugin: change_root_password.cgi DEPRECATED

The plugin, change_root_password.cgi has now landed itself on the DEPRECATED list of plugins that comes with Dada Mail. Since the new, Global Config plugin allows you to easily change the Dada Mail Root Password, amongst many other things, this plugin can now be retired.

Bugfixes 6.5.0

Email addresses will be subscribed x times, depending on how many times they're listed in the, "sub_confirm_list" sublist


multi-byte characters in template files in dada/templates, etc are wrongly encoded/decoded when viewed


CAPTCHA will fail, on subscription step #2, if step #1 is skipped (closed list opt in)



Summary 6.4.3

This version is primarilly a bug-fix release.

Bugfixes 6.4.3

Subscription Quotas don't really... work



Summary 6.4.2

This version is primarilly a bug-fix release.

Bugfixes 6.4.2




Summary 6.4.1

This version is primarily a bug-fix release, dealing with mass mailings that will be paused as soon as they're created.

It's a problem that probably started in the v6.4.0 release of Dada Mail (although it could have bitten those before this ver.).

The fix was made basically in one file, so if you are currently running v6.4.0 of Dada Mail (and ONLY this version), you may do the following, instead of having to completely re-install Dada Mail:

The file that needs to be changed out is at: dada/DADA/Mail/MailOut.pm

Rename the current, MailOut.pm file you have within your Dada Mail installation.

Grab the version of the MailOut.pm file w/the bugfix, here:


And put this version up, where the original file was, in: dada/DADA/Mail

Good to go! Again, these directions are only for users who are currently running v6.4.0 of Dada Mail. Everyone else is suggested to upgrade Dada Mail using the usual upgrade directions.

This bugfix may also help the problem with Mass Mailings that finish correctly, but also leave a notice in the Mailing Monitor, that it's still around and corrupted. We'd love to hear your feedback.

Bugfixes 6.4.1

Mass Mailings Sometimes Paused After Creation



Summary 6.4.0

Features 6.4.0

Unsubscription Process: Vastly Simplified

The unsubscription process for Dada Mail has been redesigned, and is now much more simplified than it has been in past versions of Dada Mail. Here's how it works:

All mass mailings require an unsubscription link to be present in the message itself. This unsubscription link is now unique to the mailing list, mass mailing and subscriber it's sent to.

Clicking an unsubscription link will bring the subscriber to a screen with a simple form which only requires that they fill out their email address. An optional email address hint can be shown, to help your subscriber know which email address they're subscribed with. Once a subscriber has filled out their email address and submitted the form, they will be unsubscribed immediately. There is no longer an option to send an unsubscription confirmation email message to the user.

The unsubscription link will be removed in discussion lists when messages are replied to, to stop potentially re-sending the unique unsubscription link of a subscriber, to the entire mailing list. Unsubscription links will also be removed from archive messages.

To make the unsubscription process as simple and fool-proof as possible, many of the advanced options that were available in the mailing list's control panel have been removed. This was done to make 100% sure that users of Dada Mail were following email best practices, as well as following the newest CAN SPAM 2008 revision.

Unsubscriptions are now tracked, and data can be viewed/exported in the Tracker plugin. The date of the unsubscription, IP address, subscriber email address, mass mailing the unsubscription was made from, as well as the mailing list the unsubscription was for, will be logged.

More information about Dada Mail's Unsubscription System can be found in the new feature overview for unsubscriptions:


Tracker Plugin

Tracker Preferences: Simplified

Tracker preferences have been simplified, to make sure as much data is collected by default, and the Tracker's powerful features are as easy to use, as possible. You may now track clickthroughs automatically, or manually; track message opens directly or indirectly, and track with or without subscriber's email address. Tracking, Archive Views, "Forward to a Friend" and Bounces will always be enabled for you.


Work has been done to make the index of mass mailings data and graph render faster. Expect speedups of 2x-5x.

Opens: Total + Unique Reported

Message Opens are now reported as both the total amount of opens recorded per message, as well as unique opens per message/subscriber. The percentage of unique opens/total subscribers is also shown.

Subscriber Activity

Message data is now reported by subscriber, as well as by IP/location/Over Time. Activities such as Message Opens, Clickthroughs, Unsubscribes and Bounces are shown per-subscriber in chronological order. Subscribers are sorted from most active to least active, allowing you to easily see who your busiest members are, and what they're doing.


Subscriber Unsubscribes are now logged in Dada Mail and reported by the Tracker plugin. a seperate tab in the message Tracker shows a list of all unsubscriptions; data is also broken down by domain name, and graphed over time.

Total Recipients Logged

Dada Mail has the ability to send a mass mailing to only part of a mailing list, but up until now, only logged the total subscriber count. Now, Dada Mail will log both the total subscriber count, plus the total count of recipients that are sent the message. This will help Tracker message reports to be more precise.

csv Export Email Lists: Soft/Hard Bounces, Unsubscribes, Email Activity

Tracker supports csv exporting email addresses for soft/hard bounces, unsubscribers, and email activity, for each message.

Partial Sending Options Expanded

Partial List Sending has now been expanded to allow you to search both with what could be in your list (equal, like), as well as what may not be in your list (not equal to, unlike).

You may now search for more than one term, per field, at one time - example: a First Name of either Justin, OR John. This is done by simply listing the various search terms you'd like, separated by a comma. For example, First Name is Like Justin,John

Bugfixes 6.4.0

Non-ASCII header fields of sent message are not MIME-encoded



Summary 6.3.1

This release fixes bugs found in the v6.3.0 version of Dada Mail. It's a suggested upgrade for anyone running v6.3.0 or lower.

SQL Table schema checker looks for wrong # of needed tables (off by one, problem)


Password Protect Directories: "AuthName" in .htaccess file left unquoted



Summary 6.3.0

v6.3.0 of Dada Mail comes with enhancements to Dada Mail's Amazon SES sending support, Gravatar support, block css to inline css conversion for HTML messages (experimental), and support for tracking email addresses on message opens/clickthroughs.

Features 6.3.0

Amazon SES setup: Vastly Simplified

Dada Mail's included installer now supports setting up Amazon SES for you - all you'll need to do is give it your AWS Access Key ID and AWS Secret Access Key.

You no longer need to set up a seperate aws-credentials file, or download, configure and install any outside Amazon SES scripts.

The installer will check to make sure all required CPAN modules are installed, and also has a small tester utility to make sure Amazon SES is working. Be warned that Amazon SES sending does have a long list of prerequisites, some of which may need to be seperately installed via CPAN.

The installer will also be able to detect your previous Amazon SES settings, when you decide to upgrade.

More information on Dada Mail and Amazon SES:


Email Tracking for Opens/Clickthroughs

Dada Mail can now be set to optionally track email addresses, when tracking Clickthroughs and Message Opens. These address can currently be exported per mass mailing. This feature is somewhat experimental, as features that can stem from this new ability will be vastly expanded on in the future. We'd like to get the feature out there, in it's current state, to start gathering information to be used for analytic support and gain feedback on this new feature.

This feature also requires changes to Dada Mail's SQL schema, which should happen automatically during the first run of Dada Mail, right after an upgrade. One can perform these changes manually, by issuing the following SQL:

        ALTER TABLE dada_clickthrough_url_log ADD email VARCHAR(80);
        ALTER TABLE dada_mass_mailing_event_log ADD email VARCHAR(80);

The option to track email addresses is located in the Tracker's list control panel screen, under, Preferences - Track with Email Addresses.

Mass Mailings: Convert CSS <style> blocks to inline styles in HTML messages

Support has been added to Dada Mail to allow you to author HTML messages with your CSS stylings in the head of your document (easy to author), but have the CSS converted to inline styles (more universally supported in mail readers).

This option can be found in the list control panel under, Mass Mailing - Options: Convert CSS style blocks to inline styles in HTML messages (Experimental)

This is an experimental feature, and you will have to seperately install the CSS::Inliner Perl CPAN module.

Installer CPAN modules is covered here:


Admin Menu: Archive Count now shown

The list control panel's admin menu will now list how many archives you have, under, Message Archives - View (# of messages)

Extended Gravatar Support

Gravatars ( https://en.gravatar.com/ ) now show up in the List screen, the List's Archive indexes, and in the blog_index.cgi plugin.

Password Protect Directories Plugin: Works with already-exisiting .htaccess

In past versions, the Password Protect Directories Plugin would write (and if there was an already existing .htaccess file, Write Over) its own .htaccess file. This does not play nicely with anything else that may need to use an .htaccess file.

Now, this plugin will first look and see if an .htaccess file exists, and if so, if specific directives for the plugin itself exist. If so, the plugin will only update the file and change the directives it needs in order for the plugin to work.

It's advised, that if you upgrade to first disable the plugin's cronjob, remove the directives in the .htaccess file specific for the plugin (or the entire .htaccess file, if nothing else requires this file, upgrade, and then re-set the cronjob for this plugin.

Geo IP databases Updated

Dada Mail has updated it's Geo IP databases to the newest, April 2013 release.

This product includes GeoLite data created by MaxMind, available from http://www.maxmind.com.

blog_index.cgi extension: cached screens

The HTML/Javascript data that the blog_index.cgi extension makes are now cached, helping relieve unneeded load on your backend.

Support in Detecting Outside CPAN Perl Libraries

To help make using the more advanced features of Dada Mail - ones that require you to install additional Perl CPAN modules that aren't included with Dada Mail (Amazon SES, Gravatars, JSON, etc), Dada Mail itself will attempt to detect common places where private, account-specific Perl libraries are placed. By default, Dada Mail will look for Perl Libraries in the home directory of an account.

If you are running a cPanel-powered account, Dada Mail will play well with how cPanel's Perl Module Installer work.

Bugfixes 6.3.0

Bridge: Check to make sure List Owner/List Admin isn't the same as List Email doesn't account for email casing


Invalid List error on List Invitation Confirmations



Summary 6.2.2

This release fixes bugs found in the v6.2.1 version of Dada Mail. It's a suggested upgrade for anyone running v6.2.1 or lower.

Changes 6.2.2

Bounce Handler - new rules

More rules were added to the Bounce Handler, to better parse bounces

Redirect URLs in Sub/Unsub process detect query strings

These URLs also can add their own query strings, to pass information, but if you set a URL that already has a query string, things will break. This issue is now fixed.

Bugfixes 6.2.2

Bug with multiple subscribe


Unsubscription Confirmations, puts an extra "?" to the url


convert_to_ascii in DADA::App::Guts strips out characters like, Ü, ß, etc


Summary 6.2.1

There was a mis-labeling of v6.2.0 as v6.1.2, which never had a release. v6.2.1 is released simply to fix this bobble.


Summary 6.2.0

This release follows up on the discovery that a lot of the weirdness with the sub/unsub confirmation process happens when the sub/unsub request, and the sub/unsub confirmations come from different IP Addresses.

To counter that in a simple way, there's now a check for IP address same-ness, and if that test fails, a simple screen is shown, presenting the user to manually click on the button to finish the confirmation process. This screen isn't meant to actually be shown to the user, other than in somewhat strange circumstances.

We've written an extended description about this here:


Bugfixes 6.2.0

Subscriber profile fields disappeared.


"Unknown code ref type given ''. " in "Advanced Archive Options" screen



Summary 6.1.1

This release fixes bugs found in the v6.1.0 version of Dada Mail.

Changes 6.1.1

Working with the new confirmation link token system, we've noticed that strange things seem to happen, when the IP address used to initiate, say, a subscription, or unsubscription is different from the IP address used to confirm that same sub/unsub. This may point to an automated process following these links, instead of an actual human. For now, these types of events will be logged in the error log, but may be more actively handled in future versions of Dada Mail.

Bugfixes 6.1.1

Hidden Fields are shown in the Subscription Form


"Save, Then Test" in Mail Sending >> Options changes preferences


Bug in DADA::App::BounceHandler::Rules prevents Bounce Handler from properly parsing bounces


Default CAPTCHA will fail, even if it says it won't


Summary 6.1.0

This release of Dada Mail features a new URL confirmation system that is hoped to be more secure and less easy to spoof than previous iterations of Dada Mail. Since the previous system has been used in one form, or anothr, in Dada Mail since the original release of the app in 1999, we highly suggest literally anyone running Dada Mail to upgrade.

An extended reasoning and explaination for the changes made in this version can be found at:


As always, we look forward to your feedback about the changes and enhancements we make in Dada Mail.

Bugfixes 6.1.0-


PlainText to HTML Mass Mailing Messages break ending tmpl_if, tmpl_unless, tmpl_loop blocks


Bridge stops list processing if one list has a problem


No entity found! die'ing! at bridge.cgi line 467


Summary 6.0.2

This release fixes bugs found in the v6.0.1 version of Dada Mail. It's a suggested upgrade for anyone running v6.0.0 or v6.0.1

Bugfixes 6.0.2

<!-- tmpl_strftime [...] --> template tags don't work


Bridge: "Setup as" Email Forward/POP3 Account option used when cloning a list


"Not Allowed to Post" Message, grammatical error


Bridge: Transactional email messages, specific to Bridge/Moderation do not have correct encoding


Messages converted from PlainText to HTML will have broken template tags


Transactional Emails are bring coverted from PlainText to HTML


Domain Stats broken for PlainText Backend


Scheduled Mailings HTML window missing v6


jQuery UI images with wrong paths in jQuery stylesheet


"Your List Control Panel » Customize Feature Set" Broken


Removing Stale POP3 Locks doesn't work


Multiple Subscribe doesn't seem to be working


Error when creating a new profile account.



Summary 6.0.1

This release features one minor bug fix to the Bridge plugin, no other code changes are present. If you are using the v6.0.0 Stable release, but are not using the Bridge plugin, this upgrade is entirely optional.

If you're already running v6.0.0 Stable of Dada Mail, and would like to simply replace the dada/plugins/bridge.cgi script, with the fixed version, you may do so:


Bugfixes 6.0.1

Bridge: Label not found for 'next QUEUE' at bridge.cgi line 1196



Summary 6.0.0

This major release of Dada Mail includes major changes to the Dada Mail codebase. A detailed explanation of these changes, compared to v5 of Dada Mail can be found at,


When upgrading from any previous version of Dada Mail, make sure to create a new .dada_config file, as old .dada_config files will not work with v6 of Dada Mail.

6.0.0 Release Candiate 2

Summary 6.0.0 Release Candidate 2

The changes below summarize the differences between RC1 and RC2 of the v6.0.0 Release

Dada Mail Project