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 a Third Party Services

Many different third party services that are available through different hosting accounts also have Dada Mail available as a one-ish click install,

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).

You'll also want to use a seperate SQL database for each install of Dada Mail.

Can I use one Dada Mail installation for multiple domains?

One installation of Dada Mail will work for one domain. This means, if you install Dada Mail at:


You will not be able access this copy of Dada Mail at,


even if you administrate both domains. This would require two installations of Dada Mail.

How Do I Create a New Mailing 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, http://example.com/cgi-bin/dada/mail.cgi 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 Mailing 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, http://example.com/cgi-bin/dada/mail.cgi with the URL of your own Dada Mail.

If you are brought to the list control panel of mailing list, but not the one you want to be in, just log out and you'll be sent to the admin screen.

Select your mailing 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 Mailing 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 may 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 change the list short name?

There's a plugin called, Change Your List Short Name that can do this for you:


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/Config.pm 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, ?flavor=pass_gen, like this:


Where, http://example.com/cgi-bin/dada/mail.cgi 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/Config.pm 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/Config.pm 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

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 Profile Fields coming afterwards. The actual order will be listed on this screen.

If you do not have any 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:


Mass Subscribing Email Addresses via the List Control Panel

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

Log into your mailing list with the Dada Root Password and go to: Your Mailing List - Options

Under, Advanced Options - Subcriptions check the option, Allow Subscriptions in the List Control Panel, Without Confirmation and optionally, Only Allow when logged in with the Pro Dada Root Password


Running a public mailing list requires you to have a way to unsubcribe from your mailing list and Dada Mail requires that every message sent in a mass mailing contain a unsubscription link - including discussion messages.

The following tag is required to be present in every message sent in a mass mailing in a public mailing list:

    <!-- tmpl_var list_unsubscribe_link --> 

This tag will be replaced by an unsubcription link that will be unique to the user's email address, mailing list, and mass mailing that it's sent in. When it's clicked, the user will need to simply retype their email address and submit the form presented to them. Once they do that, the user will be removed from the mailing list.

There is an option in the List Control Panel to provide an email address hint in, Your Mailing List Options, under Unsubscriptions: Show Email Hint

If you're running a discussion mailing list, you may want to disable this option, so that other members of the mailing list don't abuse the unsubscription system, by unsubscribing other members.

This problem should be mitigated, as members will need to use their own unsubscription link to remove themselves, and a user cannot use the unsubscription link sent to themselves, to unsubscribe another person. Usubscription links are also stripped from messages replied to, and resent to the mailing list, as well as messages shown in Dada Mail's public message archives.

Dada Mail has an in-program policy of requiring the unsubscription link to be prsent in all messages sent in a mass mailing for public mailing lists. 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 tag is required in your mailing list message:

        <!-- tmpl_var list_unsubscribe_link -->

What's the difference between a public mailing list and a private mailing list

See the docs on Public and Private Mailing Lists:



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 Bridge plugin.


The 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 Bounce Handler plugin:


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, FormMail.pl


and: TFmail.pl


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 you install, "CPAN Perl Modules"



The List Confirmation Process

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

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


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

See the error FAQ:


Dada Mail and HTML Templates

How do I translate Dada Mail?

Dada Mail currently does not ship in any language, other than English. To translate the application, you will need to edit the text in Dada Mail's templates.

These template files are located in the, dada/templates directory of Dada Mail.

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

Place it in your, dada_mail_support_files/static/images 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, My Program is the new name you'd like to use.

How do I change the default look of Dada Mail?


If you wan to modify the css of Dada Mail, the global css file is located at:



Most of the HTML that Dada Mail produces is stored in templates in the, dada/templates directory.

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


To find the correct template to modify: visit the screen you'd like to modify, view its source code, 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.

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.

NOTE: The List/User Template can be overridden by any of your mailing lists; each mailing list has its own copy of the list template that it can changed. 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 mailing 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, dada/templates/admin_template.tmpl

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

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

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 Config.pm 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:

 $HTML_CHARSET ||= 'UTF-8'; 

Email messages are controlled per mailing list. In the list control, go to: Mail Sending - Advanced Options 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 Config.pm 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:

What are the benefits of using the SQL backends?

Well, there are the basic benefits 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:

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

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 Config.pm 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.

Your mailing list message will be required to have the unsubscription link available:

        <!-- list_unsubscribe_link --> 

If you remove it from your mailing list message template, it will be re-added, before sending.

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


Mailing 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 Config.pm 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

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.

Only Archive, Don't 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.
4 Check: Archive this message
5 Check: Only Archive, Don't 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 Config.pm, 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/DadaMail.pm 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 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:

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?