General FAQ

Frequently Asked Questions


See the Error FAQ:


See the support page on the Dada Mail website:

Using Dada Mail

How Do I Install Dada Mail?

Complete installation docs are located at:

Install Dada Mail via Simple Scripts

Simple Scripts, also has a installer for Dada Mail, which we think is great:

Double check the version they are offering to install, as it sometimes lags behind the official, stable release.


If you have a cPanel-based hosting account (Bluehost, Hostmonster and many others), see if Simple Scripts is built right into your cPanel - it'll allow you to install Dada Mail with just a few clicks. We think that's pretty cool, as well.

Paid Installation

We do install Dada Mail on behalf of our clients:

We do a great job!

Can I install more than one copy of Dada Mail on the same hosting account?


The Dada Mail Installer usually picks your home directory as the location for the .dada_files directory. If you choose to install another copy of Dada Mail, the installer will then want to use this same (and currently in-use) location.

The trick is to simply tell the installer to use a different location. For example, create a new directory in your home directory (call it something like dada_files_for_xyz and then point the installer to that directory (use the Manual location, instead of Automatic) and you're done!.

Can I use one Dada Mail installation for multiple domains?

Currently, no. One Dada Mail installation will only work for one domain.

How Do I Create a New List?

You can create a new list by visiting the administration screen. A link should be on the bottom of the default screen of Dada Mail, if it's not visible, point your browser to this location:

Replacing, with the URL of your own Dada Mail.

Enter your Dada Mail Root Password in the form entitled, Create a New Mailing List

How Do I Log Into an Already Existing List?

You can log into an already existing list by visiting the administration screen. A link should be on the bottom of the default screen of Dada Mail, if it's not visible, point your browser to this location:

Replacing, with the URL of your own Dada Mail.

Select your list from the popup menu and enter either your List Password, or the Dada Mail Root Password in the form entitled, Enter Your List Control Panel.

The, Dada Mail Root Password can be used to log into any list being administrated by Dada Mail, as well as allowing you to access any adminsitration screens that are not allowed to be accessed when logging in using the List Password.

If the list you're attempting to access is not listed in the popup menu, you may have made your list, hidden. To log into a hidden list, click the, other... link that's located underneith the popup menu.

When the screen is refreshed, the popup menu will be replaced by a text box. You can then enter the list short name of the list you want to log into.

If you do not remember the list short name of the list you want to log into, you can also simply log into any list with your Dada Mail Root Password and once logged in, switch which list you want to work on, by selecting the list you want to work inthe popup menu on the upper left hand side of the List Control Panel. All lists available will be listed in this popup menu.

How Do I Delete a List?

Log into your mailing list using the Dada Mail Root Password.

In the left-hand menu, go to Your Mailing List -> Delete This Mailing List

Can I rename the mail.cgi file?

Yes. You can rename the, mail.cgi file to any other valid filename, like newsletter.cgi or craaaaazyname.cgi. You'll most likely have to keep the file ending either, .cgi or .pl

The only place that this variable is hardcoded is in the, $PROGRAM_URL variable - so make sure to change this variable as well to reflect the file name changes.

How do I fetch/reset the Dada Mail Root Password

The Dada Mail Root Password is usually saved in an encrypted form, so cannot be simply read from the configuration. You may manually reset the Dada Mail Root Password yourself.

If you're running a contemporary installation of Dada Mail, the Dada Mail Root Password is stored your .dada_config file.

(The location of the .dada_config file is saved in the directory set in the dada/DADA/ file, in a variable called, $PROGRAM_CONFIG_FILE_DIR. That variable should hold the absolute path to the directory that your, .dada_config)

Look for these lines:

        # Start Root_Password
        $PROGRAM_ROOT_PASSWORD  = 'ws9shkqd4LeFI';
        # End Root_Password

In this example, the $PROGRAM_ROOT_PASSWORD variable holds an encrypted password as $ROOT_PASS_IS_ENCRYPTED is set to, 1. There's no way to decrypt the password.

You can encrypt a new password by visiting your Dada Mail with the query string, ?f=pass_gen, like this:

Where, is the URL of your Dada Mail and have a new password encrypted. Copy the encrypted password and set the $PROGRAM_ROOT_PASSWORD variable to your new encrypted password.

If you cannot figure out how to encrypt your own password, set, $ROOT_PASS_IS_ENCRYPTED to, 0 and type in a new Dada Mail Root Password:

        # Start Root_Password
        $PROGRAM_ROOT_PASSWORD  = 'new_unsafe_pass';
        # End Root_Password

We do not suggest this, as now you're open to someone exploiting your Dada Mail, by simply reading your configuration.

If you are running a Basic Installation of Dada Mail (ie: NO .dada_config file), look for the $PROGRAM_ROOT_PASSWORD variable in the dada/DADA/ file itself. It may or may not be encrypted. Again, the $ROOT_PASS_IS_ENCRYPTED will let you know. follow similar steps to reset the $PROGRAM_ROOT_PASSWORD variable to either an encrypted or non-encrypted password, but do all the editing in your dada/DADA/ file.

There is also plugin, described here:

That will allow you to change the Dada Mail Root Password. You will first have to log into your list control panel, with the Dada Mail Root Password.

Is there any way to stop a mass mailing once it is started?

Yes. In the list control panel, click on, "Monitor Your Mailings", click on the mailing you want to stop and when on that specific message screen, click the, STOP Mailing button.


How are new subscriptions made?

  • List Invitations

    The first way is by having the list owner log into the List Control Panel and inviting subscribers en-mass, via the, Manage Subscribers - Invite screen.

  • Self-Subscriptions

    The second way is to provide a subscription form available to visitors of your website.

  • API

    The third is to modify an already exisiting program to use Dada Mail's API either directory or indirectly.

    The first two ways are walked through in this screen cast:

List Invitations

Once logged in, the list owner will want to visit the, Manage Subscribers - Invite screen.

New subscribers should be prepared in CSV format, with the email address being first and any other Subscriber Profile Fields coming afterwards. The actual order will be listed on this screen.

If you do not have any Subscriber Profile Fields, the format needed to give Dada Mail is just, one email address and a newline.

Click the, Verify Addresses... button. When the screen refreshes, Dada Mail will give a break down of the addresses that can be invited and also the addresses that cannot be invited for reasons that include: already being subscribed, being an invalid address, or that the address is currently banned from subsribing.

A List Invitation will send out a short email message to the would-be subscribe and allow the subscriber themselves to choose to subscribe to the list.

Allowing Visitors to Subscribe

Visitors to your website can subscribe to your mailing list by filling out a List Subscription Form.

This form is located on the default screen of Dada Mail (for all lists) and also on the list-specific screen (for just that list)

You can also place this subscription form on any page of an already existing website. The HTML form code can be copied from the List Control Panel screen, located at: Appearance and Templates - Subscription Form HTML

And pasting the HTML into your page's source.

See Also

There's also a Dada Mail Extension that'll allow someone to subscribe to more than one list:

And another extension that will allow you to embed an AJAX-enabled subscription form:

Using the Dada Mail API to subscribe new addresses

See the following docs that pertain to using the Dada Mail API directly or indirectly to use its subscription capabilities:

This will be a more advanced topic.

Mass Subscribing Email Addresses via the List Control Panel

Is there a way to Mass-Subscribe email addresses from the list control panel?

Versions 4.7.0+:

Log into your mailing list and go to: Your Mailing List - Mailing List Options

Under the heading, List Control Panel Subscriptions check the option, Enable Adding Subscribers from within the List Control Panel

You can then go to: Your Subscribers - Invite/Add and mass-subscribe addresses.

Versions 4.4.0 - 4.6.1

Log into your mailing list with the Dada Mail Root Password and go to:

Your List Control Panel - Options

Check the option labeled, Enable, "Subscribe Checked Subscribers" button [...]

You can then go to: Your Subscribers - Invite/Add and mass-subscribe addresses.


How do I turn off, "one-click" unsubscription links?

I have a discussion list and the unsub links are being clicked on by other users, sending unsubscription confirmations out. Yikes!

Replace the unsubscription tag:

 <!-- tmpl_var list_unsubscribe_link -->

With the following:

 <!-- tmpl_var PROGRAM_URL -->/u/<!-- tmpl_var list_settings.list -->

This will provide a link to unsubscribe, but the user will have to manually enter their email address. Good to use for discussion lists.

Unsubscription links are placed on top of my mailing list messages, why?

Dada Mail has an in-program policy of requiring the unsubscription link to be prsent in any mass mailing messages it sends out. This is to stop blatant abuse of the program, but we also do sincerely suggest this as a best practice when using the program. If an unsubscribe link is not found in your mailing list message, Dada Mail will simply add one to the top of the message.

The following unsubscription links/tags can be used:


Do you host Dada Mail or do I host Dada Mail?

Dada Mail is installed on your hosting account; thus, you will be the one hosting it.

Dada Mail is not really intended to be run locally on your Desktop Computer (unless, say, you're testing it out). You'll want Dada Mail running on a server that's publically available via the web, so that subscription and unsubscription requests can be handled at all times.

Do you provide hosting services?

Personally, no - I do have some good suggestions on hosting:

Dada Mail looks awesome! Installation is way over my head, do you provide installation services?



How do you upgrade Dada Mail?


I have an older version of Dada Mail, or something called Mojo Mail, should I upgrade?

Please, yes.


Does Dada Mail handle announce-only lists? Discussion Lists?

Dada Mail handles announce only lists with ease - a standard installation will be all you need to run Dada Mail as an announce-only list.

Dada Mail can also be set up to allow discussion lists, you'll have to also install the Dada Bridge plugin.

The Dada Bridge Plugin can also be set up to provide announce-only message sending from your mail reader -

Does Dada Mail handle bounced messages?

See the Mystery Girl plugin, the bounce handler for Dada Mail:

How do I create the HTML Subscription form code to place on my web pages to allow people to subscribe to my list?

Log into your list control panel, click, Appearance and Templates - Subscription Form HTML

Can I hook Dada Mail up to a form on my website?

Sure - in fact there are two different form handlers to choose from,


Both do a similar job, emailing you the fields filled out on your form and subscribing an email address, also filled out on a form, to a Dada Mail list.

You can also make your own - you may want to look at the cookbook for Mailing List Subscribers:

If you know a little Perl, it isn't too hard. A great place to see a working example is in the FormMail and TFmail scripts themselves. Do a search for, "dada" and you'll see the relevant changes.

Can you compare Dada Mail to another program for me?

Not really. I can't in good faith tell you what Dada Mail has and Brand X lacks, since I, personally, only use Dada Mail. The feature list of Dada Mail is very verbose, so the easiest way to get an idea of what Dada Mail can do is try it out.

From the very begining of the project in 1999, I set out to make something that was a little different than what was out there and I'm still doing that. Dada Mail is an experiment, if anything.

Is there a Demo of Dada Mail set up that I can use?

Yes! - see:

Do I need to keep my browser window open for the entire mail sending?

It's not the worst idea - the best thing to do is put on the, "Monitor Your Mailings" screen to the mailing you currently want to keep an eye on.

There are chances that a mailing will stop unexpectantly, and keeping this monitor up will prevent that. There are also ways to not need to have this Monitor Your Mailings screen open, regardless of your hosting setup.

This topic has it's own FAQ:

Which is a must-read.

How do I send email messages with formatted text/images?

Short Answer:

Email messages that are formatted with text, images, etc. are done by writing the message in HTML. So, write your message in HTML!

Long Answer:

(See short answer first)

There are many many MANY ways to send an HTML-formatted email using Dada Mail.

How do I get the File Browser working in FCKeditor?

Screen Casts!

I want to upload images to then put in my message - any help on that?

These screencasts:

Goes through the below process.

These current directions are for FCKeditor, version 2.6. The steps involved seem to always change in each revision of FCKeditor.

Step 1: Install FCKEditor

First, get FCKeditor up and running:

In a nutshell, this means downloading FCKeditor, and putting the, fckeditor directory onto your website.

Once that's accomplished, you'll want to set Dada Mail's variable, $FCKEDITOR_URL to point to the location of the fckeditor directory. Once that's set and you can see the FCKeditor in the, "Send a Message" screen, when the, "HTML Version" textarea is, you're ready to move on.

Step 2: Configure the FCKeditor Filemanager Connector

In this walkthrough, we'll be configuring the, php version of the Filemanager Connector... thingy. There is a version of the connector written in Perl (Dada Mail is written in Perl), but it doesn't seem to work as well.

We'll be editing one file, located at:


in the FCKeditor distribution. This is the chunk of code that we'll want to edit:

        $Config['Enabled'] = false ;
        // Path to user files relative to the document root.
        $Config['UserFilesPath'] = '/userfiles/' ;
        // Fill the following value it you prefer to specify the absolute path for the
        // user files directory. Useful if you are using a virtual directory, symbolic
        // link or alias. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
        // Attention: The above 'UserFilesPath' must point to the same directory.
        $Config['UserFilesAbsolutePath'] = '' ;

The first variable:

        $Config['Enabled'] = false ;

Simply has to be set to, true

        $Config['Enabled'] = true ;

The second and third variable are looking for the location you want to save any uploaded images to. The second variable wants it in the form of a URL,

        $Config['UserFilesPath'] = '' ;

One thing to make sure is that you've setup that directory under the same subdomain as your Dada Mail is installed. For example, if Dada Mail is at:

You need to hace this directory at something like:

and not,

The third wants the location of that same directory, but as an absolute server path.

        $Config['UserFilesAbsolutePath'] = '/home/youraccount/public_html/userfiles/' ;

Make sure to taylor those last two variables to your specific account configuration.

Other than that, you may have to change the permissions of that directory to, 777.

Once that's all set, uploading images using the FCKeditor should work like a charm.

Step 3: Using the FCKeditor Image Upload Capability

Once FCKeditor is all up and running, you can navigate to "Send a Message -> Advanced" (among other places) and get the WYSIWYG editor.

Here's how the "Insert/Edit Image" thingy works:

Now, to have this image be embedded into your newsletter and sent within the image as an attachment, do all these steps, not in the, "Send a Message -> Advanced" screen, but in the, "Send a Webpage" screen:

See also

How do you install, "CPAN Perl Modules"

There are many advanced features in Dada Mail, that rely on CPAN Perl Modules

CPAN is the Comprehensive Perl Archive Network - it's a great collection of reusable Perl code.

Installing these modules may be tricky for the uninitiated. We'll go over a few ways you can install these modules:

The cpan Shell

The, C<cpan> shell is how one usually installs CPAN modules. You'll need root access to your hosting account, 
usually, but you can install CPAN modules in your home directory. This topic is well over the 
forté of this particular FAQ, but do see:

Actually, this entire site is very helpful:

So, say you need a Perl CPAN module that Dada Mail wants to use, like Gravatar::URL. Once you have your CPAN shell all set up, you'd just ask cpan to install it, like so:

 cpan install Gravatar::URL

If you do have your own, private CPAN library, you'll have to tweak Dada Mail to let it know where it is. Say you have your local CPAN library at,


In Dada Mail's mail.cgi file, you'd have to find the, use lib lines:

 use lib qw(            

And just add your new CPAN library:

 use lib qw(            

Cpanel's Perl Module Installer

If all this talk of shells and commands and CPANs has you confused, you're in luck, if you have a hosting account that's powered by Cpanel.

Your Cpanel may have a Perl Module Installer - in your cPanel, look for, Perl Module Installer. Once in this screen, just enter the module you'd like to install, like, Gravatar::URL. and it'll handle on the hard stuff for you, similar to how its down above.

You still have to tweak your use lib line in the mail.cgi directory - so be aware of that.

The List Confirmation Process

Can you explain some of the terminology of the confirmation process?

Why, yes. Here are some terms you'll hear:

  • Double-Opt In, Closed-loop, Confirmed Opt-in

    These terms are all for the same idea: The subscriber of a mailing list has to first ask to be on the list to start with, and confirm via some means that the email address they want to subscribe with is theres. This is the one main reason why you'd want to use a mailing list manager. It uses are to the point where there may be legal steps against you if you run a mailing list without this system.

    Saying that, Dada Mail is completely compatible with this methodology. In Dada Mail this feature is called, "Subscription Confirmation Emails" and the option can be enabled/disabled in the Manage List - Mailing List Options screen. Under no circumstances should you disable this feature. Even though you may not like to have a would-be subscriber make two steps to subscribe, it's incredibly important that they do.


Running the Program Generates a 500 Server Error Message when I do, "x"

See the error FAQ:

Dada Mail and HTML Templates

How do you change the Dada Mail Logo?

Create a new image around 175 x 75 px (if you want to match the size of what's currently be used). Save it as, "dada_mail_logo.png"

Place it in the, dada/DADA/Template/templates directory.

Or place it in your .dada_files/.templates directory. This copy will override the copy that comes with Dada Mail and any additional upgrades of the script will not overwrite the custom version of the file you want to use. (This works for all templates located in the dada/DADA/Template/templates directory)

Remove your screen cache (either delete the, .dada_files/.tmp/_screen_cache directory, or use the Screen Cache plugin) to see your changes take effect.

Can I change the Program's Name?

Add this line to your .dada_config file:

        $PROGRAM_NAME = 'My Program'; 
Where, B<My Program> is the new name you'd like to use.

How do I change the default look of Dada Mail?

Short Answer:

If all you want to do is tweak the CSS styles of Dada Mail, the global CSS file is located at:


You will never see this file directly in use in Dada Mail, but you can view it in your web browser by adding /css to the end of the URL to Dada Mail:

If you're comfortable with CSS, a lot can be changed with this file alone, from fonts and colors to the overall page layouts. Everything is nicely organized in there, and the few hacks used are thoroughly commented - it may be all you need.

Really Long Answer:

Going even beyond the considerable CSS control outlined above, Dada Mail is extremely flexible in this respect. Extremely.

First: Clarification.

Dada Mail uses different templating systems depending on what needs to be done, but there's basically two types:

  • The Internal Templating System (HTML::Template)

    Most of the HTML that Dada Mail produces is stored in templates in the:



    The templates themselves are written in a templating language called HTML::Template. More info here:

    A description of the templating language, by the author, is:

    just a normal HTML file with a few extra tags, the simplest being < TMPL_VAR >

    meaning, if you read the HTML::Template docs, you should have a pretty firm understanding on how to play with these templates.

    These templates control many of the administration screens. You'll want to play around with these templates if there are some layout/formatting/content output changes you want to do to the program itself.

    Note: that by design, these templates have almost no programatic logic to them - they are almost strictly layout only, so don't expect to change the behavior of the program by editing the template files.

    To find the correct template to modify: visit the screen you'd like to modify, view its source code ("view source" in your browser options), find the section in the source code that you'd like to change, and then continue reading down until you see a comment,

     <!-- end template_name.tmpl -->

    ...or read up (that is, backwards) until you bump into a:

     <!-- start template_name.tmpl -->

    comment. Either way, template_name.tmpl is the template that created that section of source code.

    Or if you prefer, just have a look at the screen's URL - usually, the template will be named similarily to the function name that responded to it (the "flavor" parameter, sometimes shortened to "f", will tell you the name of the function), and usually, the template name matches that function name.

    For example, the, "Send a Message" screen, has a flavor parameter query string of, send_email. The template that creates this screen is called, send_email_screen.tmpl Easy enough.

  • Dada Mail Templating System

    This now has its own FAQ:

    Some of the places this system is used are as follows:

    • The Default List Template

      Sometimes called the User Template, the default template lives at:


      You may edit this file directly, although you most likely do not want to, since your changes will be lost when you upgrade the program.

      There are a few ways to make changes to this template, without changing this copy.

      • Use the $USER_TEMPLATE variable

        This is the preferred method. Simply make a copy of the default_list_template.tmpl file, save it in a another location on your server and set the variable, $USER_TEMPLATE to the absolute path of its location.

        You can also set $USER_TEMPLATE to a URL - if your server supports that. There's more overhead involved with Dada Mail fetching the program this way, but it does allow you to preprocess the Template before it's seen by Dada Mail. For example, you want to have PHP calls in the template itself, or generate any sort of dynamic content.

      • Make a copy of default_list_template.tmpl and place it in your $TEMPLATES directory

        Dada Mail will actually look for any of the template that are located in the default template directory,


        in whichever directory you set the $TEMPLATES variable to. If you did not set this variable, it defaults to whatever you set the $FILES variable to. Making changes to this copy will override the copy in the dada/DADA/Template/templates location.

        The above information is valid for any of the templates located in the dada/DADA/Template/templates directory.

      NOTE: The List/User Template can be overridden by any of the lists; meaning, each list has its own copy of the list template that it can change. This can be of some confusion if you're trying to edit the main template, and you don't see the changes taking effect for one of your lists, or, you make a change to the list template, and it's not affecting the default screen you see in Dada Mail.

      If you want to have all your lists use the default List/User Template:

      Again, any list screen that does not have a single list associated with it, will be given the default list template look.

    • The Default Admin Template

      The Default Admin Template lives at:


      The information about the Default List Template also follows for the Default Admin Template. The variable for it is: $DEFAULT_ADMIN_TEMPLATE

      You may also be interested in the admin_menu_widget.tmpl, which is used to created the left hand menu. It's written using the HTML::Template templating system.

    • Error Messages

      Most Error Messages in Dada Mail live in the dada/DADA/App/ Perl module. They're not templated out into individual files, since we've just haven't gotten around to it. Be careful when editing, since the file is a Perl program and follows the conventions and syntax requirements of Perl itseld.

    • Email Messages

      The default email messages that are easily editable are located in the file itself. The variables are called:

      Again, we just haven't gotten to placing these in separate template files.

      You can edit these messages separately for each list under: Manage Copy - Email Messages. To reset these messages to their default, select all the text in the textarea you want to reset, delete the text and click, Save all Changes

    • List HTML Screens

      List HTML screens are used for the operation of a mailing list. The screens that are easily editable are in the file itself. The variables are called:

      You can edit these HTML screens separately for each list under: Manage Copy - HTML Messages.

  • Misc. HTML

    Some HTML/Email Messages created by Dada Mail are done within the Perl code itself. This amount is now strikingly a minority, but it's still present. It comes in a variety of flavors, that don't really makes sense. But, here's some pointers:

Are there any official translations of Dada Mail?

At the moment, no, but check:

For translations provided by Dada Mail users. For example:

Is Dada Mail, version 2.10.2 translated into German. A more user-friendly list of translations is probably located at the main download page at:

How do you translate Dada Mail?

Basically, follow the instructions used to customize the Dada Mail templates (above)

How do you change the character set/encoding of Dada Mail?

There's a few different things you'll need to change:

HTML screens are control by the variable, $HTML_CHARSET. You can change this to whatever you'd like. For example, if I'd want to change this to, UTF-8 I'd write:


Email messages are controlled per list. In the list control, go to: Mail Settings - Advanced Sending Preferences and select the charset you'd like to use under, Default Character Set of Mailings

If you do not see the charset you want to set Dada Mail to use, you can add the charset in the array, @CHARSETS

You may want to make sure your list template does not also have the character set set in the headers. If it does, just make sure it's the same as what Dada Mail sets it as.

One thing to note about email messages are character encoding: currently, Dada Mail does not support anything but Latin 1 in the message headers, anything else is going to look like gobble-de-gook. We hope to render this problem soon.

SQL and Dada Mail

Does Dada Mail need an SQL server to run?

No. But, SQL is an option.

Does Dada Mail support an SQL backend?

Short answer, yes

Long Answer:

Dada Mail supports MySQL and Postgres with saving its:

It does not support SQL with saving its:

  • Logs

    Most always, PlainText

  • Mail Schedules

    Again, DB File flavor - with a wrapper to provide saving complex data structures

What are the benifits of using the SQL backends?

Well, there are the basic benifits of SQL over a, "Flat File" DB:

There are also certain features that are available when you use the SQL backend that are not available to you when using the (default) alternative.

These include:

  • Subscribers:
  • What are the disadvantages of using the SQL backends?

    The DB File backend for the Archives and Settings has an auto backup feature; the SQL backend does not - it is advised to you create a simple auto-backup routine for your SQL tables.

    Not really a disadvantage, but the SQL backend will not speed up your mailing list sendings.

    It is now my official recommendation that you use the SQL backend, if possible. This is not set by default for an easier installation process.

    How do I move from the default backends to the SQL backends?


    Mailing List Messages

    I want to edit the unsubscribe footer of my Mailing List Message - how?

    By default, the Mailing List Messages - meaning, messages that are sent to everyone on a list, provide quite a bit of information about the list and how to unsubscribe. It's very verbose, but we feel that it's a good start.

    To change the mailing list message template, login into your list control panel and navigate to: Appearance and Templates - Email Message Templates

    You'll see many text fields with all the email message templates that are easy to change. You are looking for two: Mailing List Message (Text Version) and Mailing List Message (HTML Version)

    Edit to your liking - one special tag that you're going to want to make sure you still include is the: <!-- tmpl_var message_body --> tag. This tag will be replaced by your actually message body - meaning, what you wrote, when your mailing list message is sent.

    If your mailing list messages are coming to you as blank, make sure you did not remove the, <!-- tmpl_var message_body --> tag!

    These two messages can be changed globaly in the file, under the variables: $MAILING_LIST_MESSAGE and $MAILING_LIST_MESSAGE_HTML

    If a list already has edited any of the email message templates, your global changes will not take affect for that list.

    Are the messages I send with Dada Mail traceable back to me?


    List Subscribers

    How many subscribers can Dada Mail handle?

    The amount of subscribers that Dada Mail can handle depends on your server setup. Roughly, the cheaper a setup you have, the smaller a subscription list you're going to be successfully be able to have. Cheap webhosts usually impose limits on the resources available to their clients. These limitations include the amount of emails that can be sent in a window of time, the amount of CPU time a program like Dada Mail can use and software libraries and helper applications available to Dada Mail. Basically, you get what you pay for with web hosts.

    I do not have any stats.

    I have listed some hosts I like here:

    Can I track statistics like, who opens my email messages, who clicks on my URLs or anything else that ties activity of my mailing list to specific email addresses?

    Yes. See the Tracker plugin:

    It can keep track of url clickthroughs, email opens, forwards, archive views, # subscribers in your mailing list, when a message is sent and soft/hard bounces.

    Can I directly work with the subscription list?

    Yes, we do not suggest it. Dada Mail's, Invite/Add admin screen does a good job in keeping your list's clean of invalid email addresses, duplicates, blacklisted addresses - etc.

    If you're starting a new list and know for sure that you're list is squeaky clean and you're using the default, PlainText subscription backend, you can just open the subscription list. The list itself is saved in a file called:


    where, listshortname is the shortname of your list. The file itself is probably saved in the directory you've saved in the $FILES variable.

    The format is as follows:

    One email address per line, followed immediately by a newline. The end of the file has a newline all by itself. All newlines are Unix style.

    Be very careful when editing the file manually, as unexpected things may happen if the format is broken.


    Tuning Dada Mail to Send Mass Mailings Faster

    Before trying any of these, make sure you do not have an hourly or daily quota on how many messages you can send out with your current hosting account. Many popular hosting companies have such limitations on their most popular hosting packages (Bluehost, Hostmonster, etc)

    • Install HTML::Template::Pro


      HTML::Template::Pro can render email templates faster than the included HTML::Template

    • Do not use the advanced email templating syntax

      The advanced email templating syntax engine (HTML::Template::Expr) is much slower than the regular syntax.

      Uncheck, Enable use of the advanced templating syntax for email messages. in Appearance and Templates - Email Message Templates (under, Advanced Options ). Make sure there are no email messages that use any, C<!-- tmpl_expr ... -->> tags.

    • Set the config variable, $MIME_OPTIMIZE to, 'faster'

      Add this to your .dada_config file:

              $MIME_OPTIMIZE = 'faster';
    • Offload your mail sending to a separate mail server or mail service

      This could mean different things for different setups. You may want to use a separate SMTP server, either your own, or a SMTP host, like SendGrid ( If you do use SMTP to send message, enable this option:

      Use One SMTP Connection per Batch (Experimental)

      In, Mail Sending - Mass Mailing Preferences

      You could also experiment with using Amazon SES for mail sending. See:


      Using a seperate mail service, like Sendgrid or Amazon SES will allow you to go over any hourly/daily email limitation imposted by your hosting company, since you are not sending messages through this host's mail servers.

    • Use the bounce handler plugin to keep a clean mailing list

      Invalid email addresses on your list just make mass mailing go slower. Use the bounce handler to remove those addresses from your mailing list:


    • Adjust your batch settings

      Adjust your batc setting to send more messages out per batch and/or wait less time between batches. It's not recommended that you totally disable batch sending, but if you do not have a hourly/daily mail sending limit, you can certainly bump up the batch settings to accomodate the resources you have available.

    Is there a way to speed up screen rendering? (How to use the Screen Cache)


    As of version 2.10.6, Dada Mail has a caching system for the HTML screens displayed in web browsers. This is handy, since many of the screens Dada Mail creates can be quite resource-intensive.

    To turn on the Screen Cache, set the variable, $SCREEN_CACHE to, 1

     $SCREEN_CACHE = 1;

    Screens cached include:

    Of particular, archived messages take quite a bit of resources to parse, edit and display.

    The cache is, flushed, or deleted every time each list changes any list setting via the list control panel, add/edit/removes an archived message in any list and when any change is made in the, "Your Mailing List Template" list control panel screen.

    You can also administrate the cache by visiting:

    You'll be able to view cached screens, etc, remove individual cached items and flush the entire cache. Handy.

    You may also manually remove these files from the cache. The cache is saved in the directory called, cache which itself is created in the directory set in the, $TMP Config variable. If you have not explicitly set this variable, it will be set to the directory you set in the, $FILES Config variable.

    Each file in the cache directory corresponds to a different screen cached. The names of the cache files correspond loosely to what they represent - for example:


    is the cache for the RSS feed for the list, mylist. Another example:


    is the cache for the archived message with the key (internal identification number) for the list, mylist. You can visit this screen by visiting:

    Note that cached screens are not wholly HTML, RSS, Atom, Image, etc files, but will also include the HTTP headers required to be sent from the webserver for correct viewing.

    When the cache is enabled, be sure to realize that any changes to Dada Mail's Templates may not be viewable until the cache is flushed. Also remember that any dynamic content from outside of Dada Mail will be made static via the caching scheme. For example, if you pull a list template from a URL and the list template is actually a php script that dynamically creates, say, a side navigation bar, this navigation bar will become static.

    If you would like to flush the Cache on a regular basis, create a script like:

     # change the below line to absolute values:
     use lib qw(./ ./DADA ./DADA/perllib);
     use DADA::App::ScreenCache; 
     my $c = DADA::App::ScreenCache->new; 

    And run it as a cron job.

    Mail Sending

    See the Mail Sending FAQ at:


    Is there a way to add a message to the archive, without sending the message?

    Yes! There are a few ways.

    Archive but DO NOT send, method

    1. Find the message you would like to edit. Copy its contents.
    2. Log into Dada Mail's List control panel and go to, "Send a Message". (Re)write the message.
    3. Find the link at the bottom of the page titled, +/- Archiving . Click it.
    4. Check: Archive this message
    5. Check: Archive but DO NOT send
    6. Change: Back Date ( month/day/year - hour:minute:second )

      To whatever you so desire.

    7. Click: Submit Mailing List Message

    This option is also available in the, "Send a Webpage" screen.

    Edit the SQL Table directly

    If you're using the SQL backend for archives, just edit the message in the SQL table. You'll most likely want to change the, "subject" and, "raw_msg" columns. Not for the faint of heart.

    Edit the archive backups and reload

    This is definetely not for the faint of heart. HACK ahead:

    If you are not using the SQL backend for Archives, Dada Mail keeps a backup of your list's archives.

    If you set the $BACKUPS variable in the, they'll be located in this location, in a directory named the same as your list's Short Name. If you did not set this variable, look in the directory you set in, $FILES

    Inside this directory, you should see another directory called, archives. Navigate into there.

    Inside that directory, you should see one or more directories, who's names are all in numbers. Find the newest directory and navigate to that one.

    In that directory, you should see a whole lot of files, whose names are also numbers. Find the message that corresponds to the message-id of the message you want to edit. The format of the file is explained in this faq under, How does Dada Mail save its information? Edit that file.


    and go through the process of restoring your lists. Heed the warning of making redundant backups.

    Told you it was a hack.

    Glossary Terms

    What the heck is...

    path to sendmail

    sendmail is a command on the server itself that... sends mail! It's a utility that Dada Mail can use for its mail sending. Usually, it's located at:


    which is the default location set in Dada Mail. If you do not know what the path of sendmail is for your hosting account, use this value. If mail doesn't seem to be sent, ask your hosting provider what the, "Path to sendmail" is.

    absolute path

    An absolute path is a path to some sort of file or directory that starts at the root of the filesystem. Example:


    may be the absolute path to your, "home" directory.

    When accessing your account via FTP, you may not be able to navigate up to the, "root" of your filesystem. This is for security purposes.

    See also:

    System Requirements

    What do I need to run Dada Mail?

    Does Dada Mail need any special Perl CPAN modules installed?

    Yes it does, but Dada Mail should come with all the CPAN modules that are needed within the distribution itself.

    Currently, this is done by copying a local perllib into the, dada/DADA/perllib directory of the Dada Mail distribution.

    If you'd like to have the CPAN modules required installed in your site-wide perl library, a Dada Mail-specific CPAN Bundle is located in the: dada/DADA/extras/developers/ file.

    What is Dada Mail?

    Is Dada Mail a Server? A Daemon?

    No and no. Dada Mail does not listen to any particular port, nor does it always run in the background awaiting a request. Dada Mail runs (mostly) as a simple CGI script.

    Dada Mail does have some modes where it can be run from a command line/cron job, but even then, it runs and exits; there is no daemon activity in Dada Mail. Dada Mail should always be run as a regular user and never as root.

    Is Dada Mail an Autoresponder?

    No. Dada Mail is not an autoresponder.

    The closet thing in Dada Mail is going to be Beatitude, which allows you to set mass mailings on a preset schedule, but it does not keep track, on a subscriber-by-subscriber basis, which messages an individual subscriber has received.

    What is Dada Mail?

    Dada Mail is a light-weight, fully featured announce-only Mailing List Manager. It does also support discussion lists, with the help of the Dada Bridge Plugin. Discussion support is minimal, compared to its announce-only capabilities.

    Dada Mail is primarily run as a plain old CGI script, it does not need any special modules installed, except the one it comes with. It does not run as a mod_perl enabled script and needs no special treatment. If you can run CGI scripts on your hosting account, Dada Mail will work for you.

    What does Dada Mail do?

    Dada Mail takes care of much of the drudgery of maintaining a mailing list. It primarily does three things very very well:

    • List Subscriptions

      Dada Mail will take care of subscriptions and unsubscriptions from each list it manages. Subscription and Unsubscription requests are done via web forms on web pages. Would-be subscribers fill out a form with their email address.

      When submitted, Dada Mail will take the request and email a confirmation. This email confirmation will include a special URL that includes a special 'pin' number, which is used to confirm the correct person wants to subscribe. Following this link will subscribe the email address.

      Unsubscription is a similar process, where someone who wants to unsubscribe will fill out a web form with their email address and receive a confirmation email.

      Dada Mail does not support email confirmation. That is, confirming an address by having to replying to an email. The URL confirmation is usually much simpler and doesn't make you create an alias email that goes to a program that does the confirmation. We circumvent quite a bit of complexity this way.

      Dada Mail can be configured to do these two simple things in a variety of ways. Dada Mail also takes account of if the email is already subscribed to the list, if the email is 'blacklisted' and thus unable to subscribe, invalid emails, and a plethora of 'gotchas' when dealing with these things.

    • Message Sending

      Dada Mail can send List Messages; email messages that go to the entire mailing list. Dada Mail can use the sendmail program to use to mail to, as well as qmail, exim and smail - anything that masquerades as the sendmail program (usually located at /usr/sbin/sendmail) will work. Dada Mail can also send out list messages using an SMTP connection to a SMTP server.

      Message sending can also be done in 'batches' a desired amount of emails are sent in timed intervals.

    • Archiving

      Dada Mail can archive all list messages it sends. Archived messages are archived with the list message, its subject and the date it was sent. The SQL archive backend saves a raw version of the message, that includes all headers. Archives are viewable and Dada Mail provides many features to make this quite a pleasant experience.

    How does Dada Mail save its information?

    See the Dada Mail File Format FAQ:

    Who develops Dada Mail?

    Justin J is the lead designer of Dada Mail.

    Can I help?


    Please get in touch:

    Is there a public repository for Dada Mail?