http://dadamailproject.com/support/requirements.html
Short answer: yes
Long answer:
...yes
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.
The largest hurtle is going to be emulation of the fork()
Perl subroutine.
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.
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.
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.
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:
http://example.com/cgi-bin/dada/mail.cgi/admin
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
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:
http://example.com/cgi-bin/dada/mail.cgi/admin
Replacing, http://example.com/cgi-bin/dada/mail.cgi 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.
Log into a list using the Dada Mail Root Password. You'll see the option under the, Manage List heading.
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.
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 Config.pm 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 Config.pm 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:
http://example.com/cgi-bin/dada/mail.cgi?f=pass_gen
and follow the instructions.
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.
If you have shell access, issue the kill command with the process id (pid) of the sending process. This id should be writtern down in Dada Mail's usage log - if you haven't set this log explicitly, it should be saved as, dada_usage.txt in whatever directory you set the $LOGS variable to - if you haven't set that variable explicitly, that variable will be set to whatever $FILES is set to (*whew*!)
You'll see an entry in the log that looks sort of like this:
[Fri Feb 3 03:45:03 2006] listshortname Message pid: 76354 Subject:This is my subject!
The message pid for this message is, 76354. You'll then want to type in the kill command:
kill 76354
The exact format of issuing the command my be different for your server, but that's the jist of it.
When mass mailings occur, a temporary file is created, holding all your list subscribers. This keeps the main list free for subscriptions/unsubscriptions while the mailing is going out. Handy. If you remove this file while a mailing is going out, you'll essentially stop the mass mailing.
This file is saved in whichever directory you set the, $TMP variable to. If you haven't set the variable, it'll be saved in the directory you set the, $FILES variable to. It looks sort of like this:
mylist.list.20051120131106.78619561_at_example.com
The format is, your list shortname, the type of list you're sending (usually, 'list'), a whole string of numbers that correspond to the Message-id header of the message you're sending out.
Remove this file, and you're mailing will stop - you may receive a, ``List Completed'' message, this is normal.
There's basically three ways to add subscribers to Dada Mail.
The first way is by having the list owner log into the List Control Panel and adding subscribers en-mass, via the, Manage Subscribers - Add screen.
The second way is to provide a subscription form available to visitors of your website.
The third is to modify an already exisiting program to use Dada Mail's API either directory or indirectly.
Once logged in, the list owner will want to visit the, Manage Subscribers - Add screen.
New subscribers should be prepared in CSV format, with the email address being first and any other subscriber fields coming afterwards. The actual order will be listed on this screen.
If you do not have any subscriber fields, the format needed to give Dada Mail is just, one email address and a newline.
Click the, Verify Subscribers... button. When the screen refreshes, Dada Mail will give a break down of the addresses that can be subscribed and also the addresses that cannot be subscribed for reasons that include, they're already subscribed, the email address is invalid, or that the address is currently banned from subsribing, amongst other reasons.
From this point, you can make the choice to either Subscribe the addresses listed, or Send a List Invitation.
We strongly urge you to not outright subscribe any addresses that you haven't first verified completely via a Closed-Loop subscription process. Thus, you should only use this feature if you're importing an already existing subscription list.
Rather, you should send a List Invitation. 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.
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: Manage Appearance - Subscription Form HTML
And pasting the HTML into your page's source.
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:
http://dadamailproject.com/support/documentation-dada-3_0_1/ajax_include_subscribe.cgi.html
See the following docs that pertain to using the Dada Mail API directly or indirectly to use its subscription capabilities:
COOKBOOK-subscriptions.pod.html
This will be a more advanced topic.
Sure.
By default, the unsubscription tag,
[list_unsubscribe_link]
in the mailing list message template generates a URL that looks like this:
http://example.com/cgi-bin/dada/mail.cgi/f/u/
When your users follow this link, they will still have to enter their own email address.
You can change the unsubscription link from what's above, to:
[list_unsubscribe_link]/[subscriber.email_name]/[subscriber.email_domain]/
Which will generate a URL that looks like this:
http://example.com/cgi-bin/dada/mail.cgi/f/u/user/example.com
When clicked, Dada Mail will send the unsubscription confirmation email, without the user having to manually enter their email address.
The mailing list message templates can be edited in the list control panel under, Manage Copy - Email Templates
Finally, you can disable Dada Mail's Close-Loop Opt-Out system in the list control panel, in: Manager List - Mailing List Options, by unchecking the option entitled,
Send Unsubscription Confirmation Emails (Closed-Loop Opt-Out)
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.
Personally, no - I do have some good suggestions on hosting:
http://dadamailproject.com/support/hosting.html
Yes:
http://dadamailproject.com/installation/request.html
Yes!
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:
http://dadamailproject.com/installation/request.html
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.
See Mystery Girl, the bounce handler for Dada Mail:
Log into your list control panel, click, Manage Appearance - Subscription Form HTML
Sure - in fact there are two different form handlers to choose from, FormMail.pl
Dada-ized_FormMail_README.pod.html
and: TFmail.pl
Dada-ized_TFMail_README.pod.html
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.
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.
Yes! - see:
http://dadamailproject.com/cgi-bin/dada/mail.cgi
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:
FAQ-mailing_list_sending.pod.html
Which is a must-read.
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.
In the list control panel, go to, Send a List Message. In the basic screen, there is a pulldown menu labeled, Format: Select, HTML and write your message in HTML.
In the same screen, click the, Advanced Link. You will see an entire textarea labeled, HTML Version: in which to write your HTML message.
If you do not know HTML, or are setting Dada Mail up for someone who does not know HTML, but wants to create HTML images, you can transform this textarea into a WYSIWYG HTML editor by installing FCKeditor (which is relatively painless). Directions on how to do so are at:
Create an HTML document using your favorite HTML editor. Post it somewhere on your website. Make sure you do one of the following:
<img src="../../images/love.png" />
<img src="http://example.com/images/love.png" />
<a href="index.html">This is my link!</a>
<a href="http://example.com/index.html">This is my link!</a>
In the list control panel, go to, <Send a Webpage>. Under, HTML Verson (Your Webpage), check: Grab content from this webpage address (URL): and fill in the url to use.
NOTE: Before being sent, all HTML messages will be changed to a multipart/alternative message and have a PlainText version of your message created, if one is not present already. This is absolutely required these days and there is currently no way to turn off this behavior in Dada Mail.
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.
First, get FCKeditor up and running:
Config.pm.html#fckeditor_integration___fckeditor_url
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 Config.pm 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.
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:
fckeditor/editor/filemanager/connectors/php/config.php
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'] = 'http://example.com/userfiles/' ;
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:
http://www.example.com/cgi-bin/dada/mail.cgi
You need to hace this directory at something like:
http://www.example.com/userfiles/
and not,
http://different-subdomain.example.com/userfiles/
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.
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:
You'll get this odd, empty file browser looking thing. It doesn't show anything, but you can select an image/whatever on your desktop and upload it to your account.
That image will now show up in the file browser! Click on it and the file browser goes away and you get a preview of the image.
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:
( Images in this Webpage Should:) ``be embedded in the message itself. ''
http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Configuration/Built_in_File_Browser
Why, yes. Here are some terms you'll hear:
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:
Short Answer:
If all you want to do is tweak the CSS styles of Dada Mail, the global CSS file is located at:
dada/DADA/Template/templates/default_css.css
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:
http://example.com/cgi-bin/dada/mail.cgi/css
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:
Most of the HTML that Dada Mail produces is stored in templates in the:
dada/DADA/Template/templates
directory.
The templates themselves are written in a templating language called HTML::Template. More info here:
http://search.cpan.org/~samtregar/HTML-Template-2.7/Template.pm
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 List 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.
The Dada Mail Templating system - used primarily for Email Messages and the List/User Template - is tragically simple. Tags are replaced with what they are supposed to represent. A tag looks like this:
[i_am_a_tag]
There are no conditional statements in this system. Sometimes, you'll see a tag that looks like this:
<!--[i_am_another_tag]-->
When interpolated, the entire tag, including the comment around it, will be replaced.
This templating system is the one that is disclosed to a user of the Dada Mail program.
Some of the places this system is used are as follows:
Sometimes called the User Template, the default template lives at:
dada/DADA/Template/templates/default_list_template.tmpl
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.
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 Config.pm 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.
Dada Mail will actually look for any of the template that are located in the default template directory,
dada/DADA/Template/templates
in whichever directory you set the $TEMPLATES Config.pm 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:
These are the list templates that correspond to each of your lists.
Either, don't edit the individual copy of the list template in the admin control panel under, Manage Appearance - Edit Template, check the option, `` Use the default list template.'' in that same screen, or, to be even more authorative, add this to your %LIST_SETUP_OVERRIDES Config.pm hash:
get_template_data => 'from_default_template',
Information on the %LIST_SETUP_OVERRIDES hash can be found at:
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 lives at:
default_admin_template.tmpl
The information about the Default List Template also follows for the Default Admin Template. The Config.pm 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.
Most Error Messages in Dada Mail live in the dada/DADA/App/Errors.pm 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.
The default email messages that are easily editable are located in the Config.pm 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 are used for the operation of a mailing list. The screens that are easily editable are in the Config.pm file itself. The variables are called:
You can edit these HTML screens separately for each list under: Manage Copy - HTML Messages.
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:
Lots of the inline HTML is created using the venerable CGI.pm module. Here's the docs:
http://search.cpan.org/dist/CGI.pm/CGI.pm
to spot it in the code, you'll want to look for Perl subroutines/functions that are named similar to HTML tags.
At the moment, no, but check:
http://sourceforge.net/project/showfiles.php?group_id=13002
For translations provided by Dada Mail users. For example:
http://prdownloads.sourceforge.net/mojomail/dada-2_10_2de.tar.gz?download
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:
http://dadamailproject.com/download
Basically, follow the instructions used to customize the Dada Mail templates (above)
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, 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 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.
No. But, SQL is an option.
Short answer, yes
Long Answer:
Dada Mail supports MySQL and Postgres with saving its:
It does not support SQL with saving its:
Most always, PlainText
Again, DB File flavor - with a wrapper to provide saving complex data structures
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:
dada/extras/SQL
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 Config.pm variables - no real surprises.
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:
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.
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.
There's a script called, dada_settings_dbtosql.pl which is located in:
/dada/extras/scripts/dada_settings_dbtosql.pl
It's documentation is at:
There's a script called, dada_archive_dbtosql.pl which is located in:
/dada/extras/scripts/dada_archive_dbtosql.pl
It's documentation is at:
There's a script called, dada_subscribers_plaintext2sql.pl which is located in:
/dada/extras/scripts/dada_subscribers_plaintext2sql.pl
It's documentation is at:
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 Config.pm 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.
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:
Including:
List, List-Archive, List-ID, List-Owner, List-Post, List-Subscribe, List-Unsubscribe and List-URL
See RFC 2919 for more information:
http://www.faqs.org/rfcs/rfc2919.html
and RFC 2369:
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.
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:
http://dadamailproject.com/support/hosting.html
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 Config.pm 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.
See the clickthrough_tracking.cgi plugin.
It can keep track of url clickthroughs, email opens, # subscribers per message sent and bounces.
clickthrough_tracking.cgi.html
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:
listshortname.list
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.
Yes.
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 Config.pm 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:
http://example.com/cgi-bin/dada/mail.cgi?f=clear_screen_cache
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:
archive_rss.mylist
is the cache for the RSS feed for the list, mylist. Another example:
archive.mylist.20060129172502
is the cache for the archived message with the key (internal identification number) for the list, mylist. You can visit this screen by visiting:
http://example.com/cgi-bin/dada/mail.cgi/achive/mylist/20060129172502/
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:
#!/usr/bin/perl # change the below line to absolute values: use lib qw(./ ./DADA ./DADA/perllib); use DADA::App::ScreenCache; my $c = DADA::App::ScreenCache->new; $c->flush;
And run it as a cron job.
See the Mail Sending FAQ at:
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.
See the archive editor plugin:
It works with Dada Mail 2.10.2 and above. Fairly easy to install.
You can't.
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?
Yes! There are a few ways.
Or, How to add a new message to Dada Mail's archive, without sending an actual message:
If you're just adding a new message, skip this step.
To whatever you so desire.
This option is also available in the, ``Send a Webpage'' screen.
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.
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.
Visit:
http://example.com/cgi-bin/dada/mail.cgi?f=restore_lists
and go through the process of restoring your lists. Heed the warning of making redundant backups.
Told you it was a hack.
Install an older version of Dada Mail (2.8.15 or earlier), that's configured to use the same, $FILES directory as your new Dada Mail version, but install it in a separate directory. Use the, ``Add/Edit'' archive features in that version. Your mileage will vary wildly. This will not work well if you're using the SQL backend.
Amen.
What the heck is...
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:
/usr/sbin/sendmail
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.
An absolute path is a path to some sort of file or directory that starts at the root of the filesystem. Example:
/home/youraccount/
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:
http://www.computerhope.com/jargon/a/absopath.htm
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.
Basically, yes.
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.
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.
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.
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.
Dada Mail takes care of much of the drudgery of maintaining a mailing list. It primarily does three things very very well:
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.
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.
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.
See the Dada Mail File Format FAQ:
At the moment, no. We're working on it.
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.
Dada Mail is developed using the Sourceforge suite of tools.
I use BBEdit as my text editor - http://www.barebones.com/products/bbedit
Transmit as my FTP program - http://panic.com/transmit/
I use jCVS as my CVS client - http://jcvs.org
And not much else;
Yes.
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:
http://dadamailproject.com/cgi-bin/dada/mail.cgi/list/dadadev/
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.
No. We've moved to Git. That information can be accessed here: