Frequently Asked Questions


What do I need to run Dada Mail?

But I have a Windows Server, The system requirements clearly state that it's not supported - is this true?

Short answer: yes

Long answer:


I do get this asked a lot, so I'm sorry I have to repeat myself - it's a project for someone else, I'm personally not interested in making it happen. So please understand - at the moment - no, Dada Mail does not work on a Windows Server.

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.

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.


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.

Do you provide hosting services?

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

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



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


Always try to stay current with the latest version of Dada Mail. Great lengths are taken to make sure that the program for the most part is backwards compatible with previous versions, so you shouldn't have many problems.

Before upgrading, you may want to look at the NOTES, that will list any change/incompatibility:

There's an upgrade FAQ available as well:

I also provide upgrade services - it's fairly inexpensive:


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. At the moment, this is done using a plugin called Dada Bridge

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

so instead of having to log into Dada Mail to write your message, you write the message in your mail reader and send it to a specific address for the message to be broadcasted to your list.

Note: even with the installation of the Dada Bridge Plugin, you're list won't ``automatically'' become a discussion list. A list will only become a discussion list after you have checked the, Make this list a discussion list option in the the Dada Bridge Plugin administration screen.

Does Dada Mail handle bounced messages?

See Mystery Girl, 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, Manage Appearance - 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, ``Sending Monitor'' 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 have to have this sending monitor 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?

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

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 List 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'] = '' ;

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 List 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 List Message -> Advanced'' screen, but in the, ``Send a Webpage'' screen:

See also

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

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, ut-8 I'd write:

 $HTML_CHARSET ||= 'utf-8';

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

What do I have to do to have Dada Mail use its SQL backend?

You'll need to create the needed SQL tables manually.

The correct SQL table schemas to use to create both the Subscriber and Archive tables are located at:


and at:

the above URL also gives more information on how to setup Dada Mail to use the SQL backend - basically, you have to set some of the variables - no real surprises.

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?

    There are various scripts that'll move over the default backend of the various types of files that Dada Mail uses to the SQL backend.

    Advice: Convert the Settings backend first, before doing any of the other 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: Manage Copy - Email Messages

    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: [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, [message_body] tag!

    These two messages can be changed globaly in the file, under the variables: $MAILlING_LIST_MESSAGE and $MAILlING_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.

    Hey, are the messages I send traceable back to me?

    Oh yeah.

    Dada Mail makes absolutely no effort to, ``mask'', ``hide'', put you in, ``stealth mode'', or any other such tom-foolery. If you're dealing with software that touts these very features, stop using it, as you're using spamming software.

    In fact, Dada Mail goes out of its way to present a traceable path from the messages it sends, to its source.

    Some techniques that Dada Mail does not employ:

    Some techniques Dada Mail does take advantage of include:

    Basically, Dada Mail sends an email message exactly as you're supposed to send one - no tricks. Mom taught us the best defense is honestly.

    Everyday Tasks

    How do I delete a list?

    Log into a list using the Dada Mail Root Password. You'll see the option under the, Manage List heading.

    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

    There is a plugin, described here:

    That will allow you to change the Dada Mail Root Password.

    Other than that plugin, there is currently no way, through the Dada Mail web-based interface to fetch the Dada Mail Root Password - you'll have to actually retrieve it from a config file - here's how:

    Usually, The Dada Mail Root Password is stored in the file, which itself is located in the, dada/DADA/ directory of your cgi-bin. It's under the variable, $PROGRAM_ROOT_PASSWORD. It should look something like this:

     $PROGRAM_ROOT_PASSWORD ||= 'sneakysneaky';

    In this case, the Dada Mail Root Password is, sneakysneaky.

    If this variable is set to, root_password and that doesn't work, see if the password isn't set in the outside config file.

    The outside config file is saved in the directory set in the same file we are talking about, in a variable called, $PROGRAM_CONFIG_FILE_DIR. That variable should hold the absolute server path to a directory that holds a file named, .dada_config. The file is a plain text file, so open it up in a text editor and again look for the, $PROGRAM_ROOT_PASSWORD variable.

    If, in either of these locations you find that the Dada Mail Root Password has been set to an odd mixture of numbers/letters/dashes, etc - the Dada Mail Root Password is most likely encrypted and there is no way to decrypt the password, so the best you can do is reset it. You can encrypt a password by visiting your Dada Mail with a query string like this:

    and follow the instructions.

    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.

    2.10.10 and below:

    Yes, but not from the web ui. There are two techniques, kill the process outright and removing the temporary copy of the subscriber list.

    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:

    Is there a set limit?

    At the moment, no, there is no factory set limit.

    You can impose a limit on the amount of subscribers per list by logging into a list using the Dada Mail Root Password. Navigate to: Manage Subscribers - Options

    Check: Limit The Number of Subscribers

    And then select what that limit should be.

    To impose a limit on the amount of lists that can be created, set the variable, $LIST_QUOTA to the number of lists you allow. Setting this variable to, undef will allow you to have an unlimited number of lists.

    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?

    See the clickthrough_tracking.cgi plugin.

    It can keep track of url clickthroughs, email opens, # subscribers per message sent and bounces.

    Can I directly work with the subscription list?

    Sure - although Dada Mail's, ``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.


    How can I get the highest performance when using Dada Mail?

    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, ``Edit 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:


    How do you edit an archived message? (2.10.7 and above)

    Archive editing is built into (again) the main program, you'll see, ``edit'' buttons wherever you'd see the archived message itself, while in the list control panel.

    How do you edit an archived message? (2.10.6 and below)

    See the archive editor plugin:

    It works with Dada Mail 2.10.2 and above. Fairly easy to install.

    How do you edit an archive message with anything that's below 2.10.2?

    You can't.

    I remember that you used to be able to edit an archived message - what happened?

    It was broken beyond repair and I threw it away.

    MIME-messages - the kind that Dada Mail understands how to create and send are non-trivial to edit. I have yet to create a Web-based MIME-editor written in Perl. I'm not sure if anyone has created this:

    A web-based MIME editor, written in Perl which can take a valid, but incredibly varied format.

    Not to beat a dead horse, but it's just non-trivial and I haven't gotten the time to create it. Besides, when is the last time you were able to edit the messages you sent from your mail reader?

    OK, I get it, there is no way to edit archived messages (in versions below 2.10.2) - is there a workaround?

    Yes! There are a few ways.

    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:

    About The Author

    So, you're a Computer Science grad, genius?

    Ha. No. I actually went to school for Art (Painting/Drawing). I partly worked on Dada Mail, because I thought I could do anything I set myself out to do.

    Anyone, with enough time, can do something similar - no genius involved, just an open mind.

    So, you make a living off of Dada Mail?

    Basically, yes.

    You're rich, huh?

    Ha. No. I live very simply, in a communal living space, with about 10 other people. We all share common resources. I don't have a car, nor many pleasantries. That's just fine with me - to each his/her own I guess.

    I don't get it, why do you give the thing away? You could be making some REAL money!

    First, thank you for the advice. I know this way of doing business isn't especially common. I will attempt to break this down:

    Allow me to elaborate on this second point:

    The majority of support for the program is given away for free, and is mostly done so, by me. This comes in the from of posts to the support forum, email lists, personal email correspondences, IM conversations, phone calls, taps on the shoulder at coffee shops (honestly!), etc.

    There is a minority of people who actually pay for support, mainly with installations of the program: I provide a service for a product that is free. A good majority of people who pay for installation actually pay me and I'm thankful for that majority. Thank you majority! Hiss! minority!

    A minority of this minority (people who cough up some green) ask for new features to be added to the program. This is: a very small minority. The rest of the features are put in, by myself, written for free, and then given away for free. The idea is that the work will pay off, ``In the future''. This future is usually pretty hazy.

    The small minority that do pay for support, also (indirectly) support the program for everyone else, including keeping the developer alive. Interesting, no?

    Business-minded people will agree with me that this is not the best way to maximize my profit margin. This, as ludicris it may sound, is not my intention. The intention is to create a sustainable project, that does make enough money to keep me afloat. The less money that comes in, the less time I'll personally spend on the project. The more money comes in, the more I'll spend. Ebbs and flows. Also interesting.

    Bottom line: You like the program, help out by supporting it with some money - or like anything you don't believe in - it'll go away.

    So - can you use this same model for your business? Sure. But, be willing to work a few years for free to become an expert on something you made up. In this respect, it's very much similar to having a small business.

    Can I outright BUY OUT Dada Mail?

    I suppose so - but I have no idea what you'd buy. If what you want to do is transfer the copyrights of the program to yourself and then relicense the program, I guess you could do that. Don't expect me to catch a low-ball figure.

    Etc, Etc

    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:

    How does Dada Mail save its information?

    See the Dada Mail File Format FAQ:

    Does Dada Mail support the saving of more than the email address?

    At the moment, no. We're working on it.

    Who develops Dada Mail?

    Justin Simoni is the lead designer of Dada Mail. Many other people have helped out along the way, but most everything is the work of his grubby little hands.

    Justin prides himself on being one of those people who gets into everything. He holds a Bachelors of Fine Art in Painting and doesn't have any ``official'' Computer Science training. A Hacker and Painter ala Paul Graham's book.

    See his portfolio:

    Purchase some art. This kid's going places.

    How is Dada Mail developed?

    Dada Mail is developed using the Sourceforge suite of tools.

    I use BBEdit as my text editor -

    Transmit as my FTP program -

    I use jCVS as my CVS client -

    And not much else;

    Can I help?


    In so many ways, depending on your knowledge of the technology involved - and there's a lot, including Network programming, UI design, HTML, CSS, Perl, CGI - lots and gobs more on top of that.

    If you're at all interested, join the Dada Developers mailing list:

    To get an idea on what's going on.

    As far as I'm concerned, I'm an absolute gear head when it comes to layout, design and usability. Not always shows up in Dada Mail's design, but I try. Got that BFA and all...

    I'm passable when it comes to Perl. Really.

    I'm an absolute clutz when it comes to SQL database design.

    If you don't know anything about the underlying technology, but are having problems using the program, describe your problem to the developers, either on the boards or on the mailing lists

    If you know a little about the underlying technology, point us to the problem with error log snippets, etc.

    If you'd like to start hacking away at the program, start by submitting patches to be applied to the latest version checked out from the CVS server.

    If you rock the patches, I'll be happy to give you checkin rights - honestly, you'd be my saviour. If you're really good at that, we can talk about babysitter the bunny that lives with me. He's cute.

    Is there a CVS server I can check in/out of?