v10.x Changelog



Custom Mass Mailing Layout

Along with the mass mailing layouts shipped with Dada Mail (Full, Minimal, For Discussion List Messages, Old School) you now have the ability to set your own custom mass mailing layout. Look for this feature in the list control panel under, Appearance: Custom Mass Mailing Layout.

"Request to Remove" button optional for private lists

First, understand the difference between a public, and private mailing list:


For private lists, a new option allows you to set if the Request Removal buttons/links will show in email messages sent with Dada Mail. This option can be found in the list control panel under, Mailing List: Options, under, Run This Mailing List As A: Private Mailing List: Show, "Request Removal" links and buttons in email messages


Login changes

If a user tries to access a specific list control panel screen when logged out of Dada Mail, they're redirected to that screen after a successful login. Before, the user would be redirected to the default list control panel screen (Send a Message).

Subscribed via the list control panel email template changes

If the option is enabled (disabled by default) to send a user who is subscribed via the list control panel a welcome email, they'll be sent the same email message as they would if they signed up themselves, rather than a different message, using a different email template. The previous email template was a bit out of date, and really only duplicated what was in the regular welcome email.

Javascript (linked and inline) removed from mass email messages

Javascript found in script tags will be, by default, removed from the source of mass email messages. Many times, the inclusion of Javascript in an email message will be grounds for a email filter to flag a message. There's no real great reason to have Javascript present in an email message, but sometimes it sneaks in, if you fetch the content of a message via URL.


Archive Message Blurb is not shown in listing of archived messages in list page, archive page, or archive search #716



This is mostly a bug-fix release for issues found in the v10.7.1 release of Dada Mail.


Bounce Handler: Amazon SES Abuse Reports are now always sent to the List Owner by default

When using Amazon SES for mail sending, the Bounce Handler should almost always be installed as well, as taking care of bounce and abuse reports is critical to working with the Amazon SES environment. The Bounce Handler takes care of both bounces messages, and any abuse reports sent to it. One issue we've uncovered is that abuse reports can be sent from messages other than mass mailings - say, a nefarious person fills out a subscription form, then sends an abuse report after the confirmation email is sent to them. In previous versions of Dada Mail, there would be no way within Dada Mail to know that that abuse report was made. Dada Mail would not send out an email to the list owner to easily unsubscribe the address, since that address wasn't subscribed!

Starting with this version, that abuse report would be forwarded to the list owner, so that they then can take action. All abuse reports sent by Amazon SES will be sent to the List Owner by default, and this option can be enabled/disabled from within the Bounce Handler plugin options, independently of the option to forward bounced messages to the List Owner. The former hopefully happens rarely, the latter may happen on every mass mailing - easily overwhelming the List Owner.

Look for the options,

        [ ] Forward bounces to the List Owner after success
        [x] Forward abuse reports to the List Owner (Amazon SES only)

in the Bounce Handler plugin. It's suggest that anyone using Amazon SES for mail sending upgrade to this version, so that ALL abuse reports originated from email sent from Dada Mail get sent to the appropriate List Owner!


User-facing Profile Features

Dada Mail has the ability to enable/disable many of the user-facing Profile features, from disabling them entirely, to just turning on/off most every feature separately. We've changed a bit some of the defaults. The following features are now disabled by default:

and the following feature has been completely removed:

Perhaps, "completely removed" is a little rough. What's really happening, is that we're simplifying the options. There's already an option to enable user-facing Profiles and all the features allowed with them. If that's enabled, so is a user being able to log into their profile, or what's the point? Two options are saying basically the same thing, so we're getting rid of the explicit, "log into a profile" option.

See issues #712 and #710 for more information.


Password Protect Directories: no check to see if directory exists when making .htaccess and .htpasswd files #713



Minimum version of Net::POP3/IO::Socket::SSL needed for SSL POP3 connections to be successful #711


Template var, "PROFILE_ENABLED" not expressive enough to be used in all circumstances in email template #710


Mass Mailing Preview do not render "Physical Address", "Privacy Policy", etc with multiple lines #709


No, "highlighted" css class for search results #708


Ckeditor image upload modal window has useless and confusing, "Upload" tab #707


Bridge: Useless bare catch() at plugins/bridge line 1773. #703


Web Services API: public key check broken #700


Send a Webpage: Images with Relative URLs fail to be added to messages #699



This is mostly a bug-fix release for issues found in the v10.7.0 release of Dada Mail.


Server Headers sent by Dada Mail not good enough to stop caching of dynamic screens #697


Webpage caching is generally a good thing. Caching dynamic screens in a webapp is not, if you don't know what screens have data that's specific to say, a login cookie. Dada Mail is set up to try to sidestep any caching that's configuring by sending a series of server headers that say, "hey, don't cache this, don't look at a cached version", but the previous server headers just weren't enough. So, we've modified them to be a bit more robust. They'll look a bit like this:

        Cache-Control: "max-age=0, no-cache, no-store, must-revalidate"
        Pragma: "no-cache"
        Expires: "Wed, 11 Jan 1984 05:00:00 GMT"

There's currently no way to adjust these headers within the app, but if you would like to make your own adjustments, the easiest way is to put them in the .htaccess file that lives within the, dada directory. Directives to set these headers already exist within this file, they just need to be uncommented be live.

Subscriber's Email Address Always Filled in with List Owner's Email Address in Mass Mailing Email Messages #683


In other words, any time this email template tag was used:

        <!-- tmpl_var subscriber.email --> 

It would be replaced with the List Owner's email address, and not your specific Subscriber's. This was because internally, the template variable for, subscriber.email was set to the List Owner's email address. Fixed!



Dada Mail now makes it easy to add UTM parameters to the links in your email messages.

If you use a platform like Google Analytics, you can then see when visitors come to your site, from a link originating from your mass mailing messages.

This support works fine with Dada Mail's own clickthrough tracking, and you may use both at the same time.

See our blog post for details on this new feature:


Upgraded SMTP Libraries

Dada Mail's outgoing SMTP library have been updated, which should provide more successful connections to a wider variety of SMTP servers and authentication flavors. Of note:


STARTTLS is now an option when connecting to an SMTP server.

More Verbose Debugging

If something does go wrong, more information will be returned to help you get to the root of the problem.

Upgraded POP3 Libraries

Dada Mail's incoming POP3 library has also been updated, which should provide more successful connections to a wider variety of POP3 servers and authentication flavors.

Of note:

Better SSL/STARTTLS Support

POP3 is used in Dada Mail in both the Bounce Handler, and Bridge plugins. Both now support SSL connections, being able to specifically choose which port to connect to, and if you would like to explicitly verify the SSL Certificate or not.

Both SMTP and POP3 SSL/TLS options require the IO::Socket::SSL Perl CPAN module to be installed (as they both required in the past).

Installation can be done separately, or by installing the Bundle::DadaMail module, if this module is not already available in your server environment.



Four new Email Themes have been added, just in time for summer!

These themes - and all other themes (except the, "default" theme) are now ONLY distributed with Pro Dada (https://dadamailproject.com/purchase/pro.html).

Grab a Pro Dada subscription yourself, and help support the project!3

New Mass Mailing Layout Choice: Old School

Old School is very similar to the mass mailing layout used in Dada Mail < v10. If you prefered that layout, well, it's back!

Original Message Sender data available in email template tags

Since discussion lists rewrite the From: header, it can be slightly difficult to contact the original sender, becauset their address is not as easy to get to.

Now, the original sender will be listed a the first line of the discussion list message. You may use the following email template tag to customize this:

        <!-- tmpl_var sender.email --> 

Many of the template tags for subscriber are also available for, sender:

        <!-- tmpl_var subscriber.email_name -->

        <!-- tmpl_var subscriber.email_domain -->

As well as, subscriber_profile which reflects the profile tags, if you are using custom profile fields.

See how this is done in the email theme files, mailing_list_message-discussion.html and mailing_list_message-discussion.html

Set a Default Delivery Preference for New Subscribers

Speaking of discusion lists, sometimes you would like to have all subscribers start off getting digests, rather than individual messages.

Now, you can!

Global Config plugin enabled by default

The Global Config plugin allows you to easily drop back into the install to reconfigure Dada Mail's global configuration.

It's now enabled, by default. Careful! As it's powers are unmatched in this world.

Mailing List: List Information menu now shows List Owner and List Administrator

To make it easy to see some of the vital information about your mailing list, the menu will show the List Owner and List Administrator right in the, Mailing List: List Information menu.


Copy functions pure JS

The JS + Flash copy functions you may notice in Dada Mail have been replaced by a pure Javascript version, removing a small dependency (Flash!)


This is mostly a bug-fix release for issues found in the v10.5.4 release of Dada Mail.


CKEditor Config may have the wrong $PROGRAM_URL variable written in, causing problems with some features


Adding an address to any sublist (other than, "list") fails if mailing list is closed


Missing alt tag in opener tracking image


Message Drafts saving broken for PostgreSQL


Core5Filemanager installation will fail because of wrongly named template file



This is mostly a bug-fix release for issues found in the v10.5.3 release of Dada Mail.


Enable/Disable Unsubscription Notifications After Bouncing

By default, Bounce Handler would send an email notification out, whenever an address met the Bounce Threshold. This would cause problems when using a service like Amazon SES, since the total number of bounces can count against you. Since most of the time this email message will bounce back, removing a bounced message will count against you, by default.

In v10.5.4, this feature may be disabled - and is disabled by default. You may re-enable it in, Plugins: Bounce Handler by checking the option, Send Unsubscription Notification to Bouncing Email Address and saving.

Add New Perl Library Paths During Install

Some of Dada Mail's more advanced features require the installation of outside CPAN Perl Modules. Sometimes, these modules are installed in a path that Dada Mail does not check by default. In the past, you would have to modify the app directly to add in these library paths. Now, Dada Mail will allow you to add/edit these paths from within the installer. When you upgrade, the library paths from before are remembered, and will carry over.

If you are using the Core5 Filemanager, which uses the Perl backend connector, these paths will be added to this outside app as well.


Rich Filemanager Upgraded to v2.4.0

Details of this release of Rich Filemanager can be found here: https://github.com/servocoder/RichFilemanager/releases/tag/v2.4.0

Mailing Lists Labeled, "Invitation Only" on default screen; disabled

Rather than having a user try to subscribe to an invitation-only mailing list, the mailing list is now labeled, "Invitation Only" in the popup menu, and is disabled.


old entries with list_type of, "sub_confirm_list" are removed without checking on amount #666



This is mostly a bug-fix release for issues found in the v10.5.2 release of Dada Mail.


Profile settings not written by Dada Mail installer to .dada_config file #663


When Archives are only allowed to be viewed by subscribers, search box and rss icon are still available #664



This is mostly a bug-fix release for issues found in the v10.5.1 release of Dada Mail.


Rich Filemanager Upgraded to v2.3.2

This is a feature/bugfix version release of Rich Filemanager:



MySQL table schema, "dada_message_drafts" does not work for MySQL v5.5 #662


Unfortunately, the schema change we made for the, dada_message_drafts is incompatible with v5.5 of MySQL, so anyone trying to install Dada Mail and using v5.5 of MySQL will fail. This new schema:

        CREATE TABLE IF NOT EXISTS dada_message_drafts (
        list varchar(16),
        created_timestamp TIMESTAMP default '0000-00-00 00:00:00', 
        last_modified_timestamp TIMESTAMP DEFAULT NOW() ON UPDATE NOW(),
        name varchar(80), 
        screen varchar(80),
        role varchar(80),
        draft mediumtext

SHOULD work. Any previous schemas for this table will be automatically be updated when you run Dada Mail, but you may also do this manually, by either:

Dropping the dada_message_drafts table and recreating it (this will delete ALL mass mailing drafts/stationery/schedules), or issuing the following SQL (current drafts/stationery/schedules should not be removed):

        ALTER TABLE dada_message_drafts MODIFY COLUMN created_timestamp TIMESTAMP default '0000-00-00 00:00:00';
        ALTER TABLE dada_message_drafts MODIFY COLUMN last_modified_timestamp TIMESTAMP DEFAULT NOW() ON UPDATE NOW(); 

This isn't an issue that affects either PostgreSQL or SQLite, only MySQL.


This is mostly a bug-fix release for issues found in the v10.5.0 release of Dada Mail.


Change in Default File Permissions from: 0666 to 0644

Dada Mail has been tweaked slightly to set permissions of files it creates to, 0644, rather than 0666. This is to enhance security of the files that Dada Mail creates and modifies.


Set Default File and Directory Permissions Support in Dada Mail Installer

To complement the change in default file permissions, the included installer for Dada Mail now supports customizing the default file and directory permissions. Check the option, Configure Security Options and look under, File/Directory Permissions.

Great care must be made to make sure the permissions you set will work with your server environment.

Add a Website URL in your List Information

There's support for adding a website URL as part of your List Information. If set, this URL will show up in the footer of the email messages sent by Dada Mail.


No default in "last_modified_timestamp" col in "dada_message_drafts"



Bridge: List Email ne List Admin test needs to be added to validate_msg()


Bridge: Appending List Name/List Shortname to Subject can break encoding of Subject


Adding a file attachment broken when using Core5 Filemanager


Saving to multiple lists does not work in, Appearance: HTML Screen Templates


8bit characters in Email Themes are escaped to \x{} representation




Rich Filemanager Support

Dada Mail has come shipped with multiple file managers:

These all your to upload/remove files that live on your hosting account, that Dada Mail can then use for inline images and file attachments.

We're adding a new filemanager called, Rich Filemanager (https://github.com/servocoder/RichFilemanager) which will be set as the default.

Rich Filemanager is an update of Core 5 Filemanager, which has shown a slowdown of development and is listed as, "deprecated" by its developer.

Rich Filemanager comes with some pretty great features and enhancments over Core 5 Filemanager:

and more.

We will be deprecating support for both Core5 Filemanager and KCFinder, unless these projects release security and feature updates in a timely manner.

You can learn more about Rich Filemanager on its Github project page: https://github.com/servocoder/RichFilemanager.

Thanks to all the contribtors to this project for all their hard work!


Subscribers from Invitations still have, "Subscription Date" set to time of invitation, not cofirmation of subscription #642




Drag and Drop File/Image Support in CKEditor!

We've upgraded the bundled version of CKEditor that comes with Dada Mail to v4.6.2, and we've implemented the necessary backend component to allow support for dragging and dropping images and files right into the rich text editor! Images may also be pasted right into the rich text editor, without you needing to save the image to a file beforehand.

Images (jpg's, png's and gif's) will show up inline; all other supported files will be uploaded, and added to your message as a link. Some files, based on their file ending, will not be allowed for security reasons.

Since the backend component of this feature is implemented right in Dada Mail, there's no additional setup or configuration required and all security checks are handled by Dada Mail.

The included file managers: KCFInder and Core5 Filemanager, are still bundled with Dada Mail and can work with these new capabilities. Previously drag-and-dropped files/images can be viewed, selected, and reused using either of the file managers.

By default, images are resized if they're larger than 640px to make the size of your mailing list messages a little nicer for your recipients. This option can be enabled/disabled in the list control panel under, Mass Mailing: Options. Look for the option labeled, Resize drag-and-drop images. Resizing requires the CPAN Perl Module, Image::Resize and can be installed by itself, or by installing the Bundle::DadaMail CPAN Perl Module.

Phone numbers!

You can now add a phone number to your List Information. The phone number will appear with the rest of your contact information, in the footer of your mass mailings. It's a clickable link, which works well for those reading your messages on their mobile device!

Dada Mail has support to show the results of a subscription in a modal window, using the subscription forms in its own screens, or through its jQuery plugin subscription forms. Dada Mail also has support for redirect your users to a custom page once their done, say, filling out the subscription form. Wouldn't it be great to combine the two? Show the custom URL in the modal window. Now, Dada Mail can do exactly that. Look for these options in the list control panel under, Mailing List:Options - there's a few places custom redirect URL's can be used. Where this new feature is supported, you'll also see the following option, Show the URL instead in a modal window, if that's being used


Mailing List Password Reset Broken




This is mostly a bug-fix release for issues found in the v10.3.5 release of Dada Mail.


Mailing List Message Theme templates only use "default"'s stylesheet when styling the message body itself




Along with a Facebook Page, Twitter URL, and Google+ URL, you can now set a Youtube link



This is mostly a bug-fix release for issues found in the v10.3.4 release of Dada Mail.

Documenation Updates

Several of the included docs have been refreshed significantly, including:

Google reCAPTCHA v2 Support


Amazon SES Third Party Email Sending Support


Installing CPAN Perl Modules


 =head2 Bugfixes

Error in Profile.pm #636


Plugins - Bridge: Moderation Reject Message, Message label spam email notifications never get sent #634


Resend Confirmation Email: Fails if email contains "+" (character is stripped from address). #633


Dada Mail complains of unverified addresses if SES SMTP gateway is used, but no SES keys are added #637




This is mostly a bug-fix release for issues found in the v10.3.2 release of Dada Mail.

This release also refreshes and clarifies the install process and the documentation that goes with it.


Extensions: multiple_subscribe.cgi does not work with Google reCAPTCHA correctly #631





This is mostly a bug-fix release for issues found in the v10.3.1 release of Dada Mail.


Google reCAPTCHA compatibility/configuration check returns false positive #630




This is mostly a bug-fix release for issues found in the v10.3.0 release of Dada Mail.


Google reCAPTCHA code not shown at all/shown for every profile field for Minimal Subscription Form #627


Plugins: Bridge Discussion Lists do not work if Google reCAPTCHA is enabled for the initial sign up form #628


Bounce Handler: modal window does not show history of bounces, but message, "plugin not registered" #626




Mass Mailing Message from RSS Feed

Dada Mail can transform a RSS Feed into an email message to tbe sent as a mass mailing. Read how to work with this in the following article:


Find this option in the list control panel under,

Mass Mailing - Send a Webpage

In the HTML Version tab, click the option,

Grab content from an RSS/Atom feed

and enter the URL of the feed in the textbox below this radio button. Additional options are available, including adding HTML content before and after the entries from the feed, setting how many entries are included in the message, and if the full entry is included or just a summary should be used.

Sending content from a feed becomes very powerful, when set up to send on a recurring schedule. If the option,

Only send the next scheduled mass mailing, if the primary content differs from the previous scheduled mass mailing

is checked, only newer entries that have not already been sent will be included in future mass mailings.



This is mostly a bug-fix release for issues found in the v10.2.3 release of Dada Mail.


Attachments in archived messages with encoded filenames cannot be downloaded #623



API bug in Mass Mailings Sent by Schedules and Webservices #625




This is mostly a bug-fix release for issues found in the v10.2.2 release of Dada Mail.


Switching lists when working on a draft causes Server Error #621


Filenames in attachments are not properly encoded #602




This is mostly a bug-fix release for issues found in the v10.2.1 release of Dada Mail.


No default subject is set in Send a Message or Send a URL screens #618


Characters in the Subject header of the, "mass mailing finished notification" may be garbled. #619


"Forward to a Friend" DMARC issues #613


Encoding Issues with HTML Message Body in Send a Message screen #610




This is mostly a bug-fix release for issues found in the v10.2.0 release of Dada Mail.


Subject wrongly encoded in Drafts/Stationery/Schedules screen #614


Google reCAPTCHA fails on signup form in certain situations #615


Membership: View Screen hides buttons in Safari browser #616




We've added support for showing a CAPTCHA on the initial signup form!

See the post about this feature for more details:


as well as the docs on advanced installation configuration,


We've also removed support for reCAPTCHA v1, and the Default CAPTCHA type. You're so much better served with reCAPTCHA v2, that these other choices just aren't worth your time.

reCAPTCHA v2 requires the following CPAN module: Google::reCAPTCHA, which you can install on its own, or through our, Bundle::DadaMail module, which will install all the other optional CPAN modules Dada Mail takes advantage of. Here's how you install CPAN modules,




Themes! Dada Mail now comes with 10+ new themes, to complement the Default theme that first shipped with v10.0.0. Themes can be selected per mailing list in, Appearance: Email Themes. A preview of the selected theme will be shown below the form on this screen.



This is mostly a bug-fix release for issues found in v10.0.2 of Dada Mail.


Set default layout for mass mailings

This is a small feature, but could be useful for people who normally send messages using Bridge, but want to use a layout that's not the default (Full) layout. Now, you may set which template is used by default, on allyour mass mailings. Look in the Mass Mailing: Options screen for the option to set this up under, Default Mass Mailing Layout

Work on Scheduled Tasks

This release has more work on scheduled tasks, and making sure that they're not run concurrently, which could cause the tasks needed to be done, done two or more times. There's also work on quashig any race conditions that could potentially happen. This work is a continuation of the work described below under, Bridge, Lock Files, and zombie processes.


This is mostly a bug-fix release for issues found in v10.0.1 of Dada Mail.


By default, all images in an HTML message are attached and embedded within the email message itself.

This can lead to large email messages, so we've added a new option to simply link to these images instead. Look for the option in the List Control Panel under, Mass Mailing: Options. This will affect all email messages sent out from a mailing list, not just messages sent out in a mass mailing.

Content-Disposition header added to embeded image attachments

Related to the abov change, the Content-Disposition header appears to have been missing from the MIME part that relates to the attached images. This may cause the embedded image to show up by itself at the end of a message, depending on your mail reader. We hope the iclusion of this header will stop this from happenig in most mail readers.

Bridge, Lock Files, and zombie processes

This is a big one, if you are running discussion mailing lists. We've made a few changes, to help make running multiple mailing lists with Bridge a lot smoother.

The first change we've made is making sure the lockfile created is specifically named for the mailing list being worked on. In the past, the SAME lockfile was used for all mailing lists, so if there was a problem with one mailing list, the next mailing list worked on may not be successful, because the lock was still "live", basically. Bridge would also not unlock the lockfile if there was say, a error with logging into the POP3 server, causing problems on additional runs of the plugin. This may culminate into zombie processes of Dada Mail, as well as perhaps even the POP3 daemon, which may have a connection kept open by a zombie process. All of this isn't good stuff, and we hope to have cleared out this problem.

If you're experiencing zombie processes, and you're running mailing lists with Bridge enabled, these above issues may be affecting you. Upgrading could help you out, immensely.

Javascript Scrubber Disabled

For the time being, the Javascript scrubber for Dada Mail has been disabled, as it also breaks HTML links that have template tags embedded within them.



This is mostly a bug-fix release for issues found in v10.0.0 of Dada Mail.


Data in Email Templates not properly UTF-8 Decoded


Previews do not work on upgraded Dada Mails, because the table previews are stored is never created


Schedule and Stationary screens do not have Preview button


Using Preview with no content gives no results




Enhanced Email Messages

Powered by Foundation for Emails

Foundation for Emails (http://foundation.zurb.com/emails.html) is a framework to develop HTML email messages that, "Sucks Less": they're beautiful, responsive, and look correctly in most HTML-capable email readers - even Outlook!

Work with these HTML emails via Sass Workflow:


Dada Mail's quiver of HTML email templates has been turned into its own Github project:


which you may use as a starter for your own customized email templates for Dada Mail:


Email Themes

Dada Mail now has support for Email Themes: collections of email templates that you may use to customize the look and feel of your email messages.

Currently, Dada Mail comes with one email theme and supports additional custom themes.

Mass Mailing Email Layouts

Email Themes include the ability to choose a specific layout for your mass mailing to be wrapped up in.

Currently, the following layouts are available:

Mass Mailing Preview

Without needing to send a test message out, you may now preview how your mass mailing will look, right in the Send a Message screen. This makes it easy to try different layouts and other options out, before comitting to sending to your entire mailing list.

Preheader support

Set a Preheader for your mass mailings in the Send a Message and Send a Webpage screens. Use the preheader to summarize, preview, and entice subscribers into reading the rest of your message.

The newly improved HTML email messages also support showing a logo, and list social media likns - these all can be set under Mailing List - List Information

Dada Mail Project