Available for MySQL and Postgres
Pretty easy to set up, create the table located in dada/extras/SQL/dada_settings.sql - which is:
CREATE TABLE dada_settings ( list text, setting text, value text );
and set the, $SETTINGS_DB_TYPE to MySQL, or Postgres
DB FIle to *SQL migration isn't too hard, see the script, dada_settings_dbtosql.pl in the dada/extras/scripts directory,
Whose instructions are:
Name dada_settings_dbtosql.pl Description Cute name, huh?
Basically, this small script takes the information of a Dada Mail list settings in the DB File and ports it to the MySQL format.
Fairly simple and straightforward.
How to use this script * Backup Everything SQL tables, list files (all of them)
* Create the List Settings SQL table The SQL statement to run should be saved in a file called *dada_settings.sql* which is located in the *dada/extras/SQL* directory of the distribution
* Set $SETTINGS_DB_TYPE to the correct SQL type (MySQL, Postgres) Directions are located in the Config.pm about this, search for, *$SETTINGS_DB_TYPE*
* Fill in %SQL_PARAMS in the Config.pm file Again, directions should be supplied in the Config.pm file.
After the above (do not skip a step) are done, make sure Dada Mail is still running by visiting it in your webbrowser. The program should run as if no lists existed - not to worry! We shall fix that soon enough.
Upload this script into the same directory that you have the *mail.cgi* script in, and run it, either from your web browser, or via the command line.
That should be it.
ps. backup everything.
Archive editor functionality added to the main mail.cgi script - meaning, you don't have to install this plugin separately.
=item * Option to add Subscription form in rss/atom feed entries. (enabled by default)
Located in Manage Archives -> Archive Options
Screen caching saves many of the HTML screens Dada Mail displays, so they don't have to be rendered twice! This could mean a serious speed up to the Dada Mail UI. More information:
You can now use the URL Redirects for the confirmation process while also passing a query string to the URL you're redirecting to! This query string holds things like, if the action was successful, the email address used and any errors encountered. Handy!
When enabled, only one confirmation message can be sent out at one time per subscriber, without the subscriber manually requesting (basically, clicking a button) a new subsciption confirmation to be sent. This helps cut down on unneeded message sending and abuse of the subscription confirmation system.
HTMLArea support has been replaced with FCKeditor.
RSS feeds are now 2.0, up from .91; Atom feeds are now 1.0, up from .03.
Whiz-bang version:
http://dadamailproject.com/features/2_10/
Sending Options
Time between batches can now be less than a second. Archiving
Viewing Attachments supported.
Inline Images support.
Security - Archived messages are pruned of javascript exploits before being viewed.
Discussion messages will show a link to the message being replied to.
The Iframe that holds the HTML version of the archived message can now be turned on/off by a per-list setting.
Previous/Next Links corrected.
Styled quoted text (for plaintext messages)
Email addresses in archives are encoded to stop email harvestors. dada_bridge.pl
CC, Bcc Infinite Loop Bug Solved.
Initial moderation supported -
Moderators in Dada Mail: a sublist of email addresses that can also send to an announce-only or discussion list without having to be on the subscription list itself. dada_bounce_handler.pl
unsubscribed message sent to list owner and former subscriber Message Sending
``I'm sure'' and ``Open in a New Window'' checkbox options now available in the, ``Send a Webpage'' and ``Send a List Invitation'' screens. List Messages
[list_confirm* tags are, ``Correct'' HTML Templates
Furious combed through for syntactic correctness and neatness. Should be almost 100% XHTML compliant. Deprecated Items Removed
The %STYLE hash in Config.pm has been completely removed.
checklist()
javascript function removed.
Of all the features of Dada Mail, I'm actually excited about this feature the most.
Why? Because this feature turns a mailing list manager with archiving abilities into something truly amazing. Think about it:
You send a message out, the message gets archived. It now exists as two things:
An email message, destined to your subscribers inbox, and content on your website.
With the addition of RSS Syndication, it also exists as part of an RSS feed, anyone can pick up.
2.9 adds the following to this mix:
Atom Described:
RSS ver .91 already comes with Dada Mail, but Atom support is pure icing. It's a bit better and supposively easier to work with development-wise. It also says, ``yes, we're really serious about this whole syndication thing''
Dada Mail 2.9 doesn't just syndicate its content, it'll reach out and let the major update services know about the updates.
So, to get back to our, ``what happens to your mailing list message'' train of thought -
Message gets delivered, message gets archived, message is syndicated, update services are notified.
Some of these update services, like http://technorati.com have a search engine, of just syndicated information for you to search through - Dada Mail let's Technorati know a new message has been sent, the message gets placed in Technorati's search results - in almost real time - truly incredible.
If you haven't noticed - this is almost exactly what a weblog does - sans perhaps the trackback URL and comments on the individual entries. The advantage of using Dada Mail is obviously the whole, ``it's first and foremost a mailing list manager'' - I still believe that there's greate value in using a Mailing List Manager. Used correctly, mailing list messages are really really useful.
Most of mail.cgi was rewritten, but I wanted to spotlight the Send an Archived Message to a Friend feature, which has been entirely rewritten; to sort of go with the above, your message is also resendable from visitors of your site, to their friends.
We didn't mean to, but the mail.cgi is rewritten. It weighs in almost 100k less than the previous version. Wow!
HTMLArea, a browser-based WYSIWYG editor can now be integrated easily into Dada Mail. This means you can write richly formatted HTML, right in your web browser. The program has limited support for copying/pasting formatted text from products like Microsoft(tm)
Word.
Instructions are here:
http://dadamailproject.com/support/documentation/Config.pm.html#html_area_integration___htmlarea_url
I noticed that navigating the list screens - meaning the screens created by Dada Mail that have to deal with a certain list, isn't very easy.
I put in place breadcrumb links to help you navigate the different areas. It's nice.
A problem with being able to send very complex email messages, is that you have to support viewing the email messages that you send, if you have your archives available. In the past, Dada Mail's support for viewing multipart/alternative messages, with or without attachments was dismal.
Dada Mail now has great support to parse and display its archived messages. Messages authored using the, ``Send a Webpage'' technique show up absolutely perfectly.
(attachments are still not supported, although the encoded content does not spill out as a garbled mess in the archive screens)
Archive ``blurbs'' have been developed, to show a snippet of an archived message, viewable befiore you click and see the entire archived message. In a glance, you can get an idea on what kind of messages are sent out in a given list.
Dada Mail now has an honest to goodness Email Message formatter that is completely MIME aware.
What's this mean? It means that your list templates will be applied correctly. It means that attachments work. It means your messages won't be flagged by email filters for poor formatting. It means you don't have to be an expert (really) on how to format email messages. You just need to write them.
More on this subject -
Using SpamAssassin as my test ( http://spamassassin.org ), I've been working on making Dada Mail's messages score better on the various torture tests it puts email messages, destined for your mailbox through. I used Spamassassin because it's well documented and is the basis of many commerical products, as well as it's own Open Source implementation.
To be direct and honest, my work on Dada Mail was not to apply tricks to get through SpamAssassin and other filters, but to use best practices when it comes to formatting email messages. Again. No tricks. None. Best practices - yes!
Some tests were surprising to me; for instance, a message formatted in HTML, but not having a proper format - ie: no start/end <head> tag, no start/end <body> tag, no start/end <html> tag get a significant penalty. Because of this, Dada Mail will now make sure that all HTML messages sent using the program will comply to this standard.
Another test that was surprising to me was finding out that HTML messages sent out without a PlainText version (known as a multipart/alternative message) get a similar rather significant penalty. Because of this, all HTML messages, sent using Dada Mail will include a PlainText version of the message automatically - meaning, you don't have to worry about it.
Many, many many of the Query Strings in Dada Mail - and not only in email messages, use a path info, instead of a query string. Here's a real example:
Query String Version:
http://justinsimoni.com/cgi-bin/dada/mail.cgi?flavor=archive;list=announce;id=20040604025003
Path Info Version:
http://justinsimoni.com/cgi-bin/dada/mail.cgi/archive/announce/20040604025003/
Both of these URLs go to the same screen.
Another example:
Query String Version:
http://example.com/cgi-bin/dada/mail.cgi?f=n&l=announce&e=justin%40example.com&p=8911234
http://example.com/cgi-bin/dada/mail.cgi/n/announce/justin/example.com/8911234/
Slightly shorter. Nicely shorter.
The email address is also now embedded within the URL, instead of being blatantly encoded in - notice the, %40 in the query string version. %'s in URL's are a big no-no for some services, like AOL. Hopefully, that problem is fixed now
A nerdy feature, here's a nerdy description:
http://cr.yp.to/proto/verp.txt
In summary, VERP support means that we embed the recipient of a mailing list message into the Return-Path header of the message itself.
This is neat because:
It'll be easy to find out the true bouncing email address of a message
if you get a complaint from AOL, you'll be able to pick out what the email address is, and, for example, unsubscribe them from your list;
If you have more than one list, log into one of them using your Dada Root Password. You'll see on the right hand side a little widget to switch to the other lists available with a simple click. Handy.
You can now be notified after every x batches are completed, instead of every batch. Seems like a silly feature, unless you have a large lists and small batches.
Batch notices should also now include:
A very large and very justified complaint about Dada Mail was that most of the HTML of the program was embedded in the Perl code itself. This makes customizing, editing and translating the display text next to impossible.
We are very happy to announce that most (~ 95%) of the display text used in Dada Mail has been templated out!
This has several advantages:
Less embedded HTML in the mail.cgi file means that Dada Mail will start up faster and take less resources to run.
mail.cgi was rewritten - mostly by taking out the embedded HTML; the resulting mail.cgi file is much more easier to develop with - especially if you're not completely familiar with everything;
There are currently about 70 templates in the template directory of Dada Mail located at:
dada/DADA/Templates/template
All these internal templates are created using the freely available HTML::Template CPAN module. Learn its templating language here:
http://search.cpan.org/~samtregar/HTML-Template-2.7/Template.pm
It's made to be very simple.
Some of the more notable templated out HTML are:
dada/DADA/Template/templates/default_list_template.tmpl
dada/DADA/Template/templates/default_admin_template.tmpl
dada/DADA/Template/templates/default_css.css
There's a new screen in Dada Mail to help would-be subscribers make sure they actually receive the email confirmation message. Basically, it points out how to add the list owner's email into the address book/white list/safe list/whatever-it's-called of their email reader. I don't have even the beginning of all the mail readers available, but it's better than nothing. Here's a real world example:
http://justinsimoni.com/cgi-bin/dada/mail.cgi/subscriber_help/announce/
The whole idea, again, is not to trick or hack about the problem, but to face the problem, and come up with a solution. Mail readers filter/flag email messages coming through, sometimes they suck at it - here's a way, using the mail reader to work around such suckage.
The original look and feel of Dada Mail was basically finalized in version ONE of the program. Since then, minor tweaks have been done to the design, but it's basically been the brown header, and content in a small, hairline bordered table.
The design itself was pretty good for 1999, whipped up by some 18-year-old punk, but times have changed and web browsers have caught up to web standards and there's better ways to format things than tables within tables within tables.
Saying that, The default Administration Template and List Template are completely xHTML Transitional compatible. Much work has been done to make sure every screen validates.
The design itself has been refreshed slightly, fonts are somewhat larger and screen real estate is being taken more advantage of. You won't be too lost using Dada Mail 2.9 if you're upgrading from an earlier verison, but it's a welcome surprise.
Some of the smaller enhancements are as follows:
For reasons that elude me, the Button styles for Dada Mail were kept in the Config.pm file, under the %STYLE hash. These are now deprecated, and the styles themselves have been moved to the default css file.
If the needed parts are available (you'll need Perl 5.6), Dada Mail now saves the log in information NOT in the cookie, but rather in what's called a session file. What's this mean? It means you're not passing the list name and (encrypted) list password back and forth from the server to your web browser every time you access the list admin control panel. Depending on how you look at this, this is either a secuirty enhancement or a security hole blocked. I'll leave that up to you;
If you ever wonder what the needed CPAN Perl modules are for Dada Mail, they're now listed in the DadaMail.pm Perl Bundle at:
dada/extras/developers/DadaMail.pm
More on Bundles:
http://www.perl.com/doc/manual/html/lib/CPAN.html#Bundles
Again, these modules are installed in the dada/DADA/perllib directory, and DO NOT have to be manually installed by yourself.
I added my personal TO-Do list to the distro at:
/dada/extras/developers/TODOlist.txt
Mostly intersting for dev versions, you can get a fresh copy at:
A ``history'' of any change you make of your list settings and list archives are automatically saved. No more losing your list data after a unexpected server move or system ``update''.
Web-based restoration of lost list settings and/or archives is just a few clicks away. Your valuable information is now more fault tolerant than ever.
Features Added:
Dada Mail has been upgraded from Version 2.05 of Mail::Bulkmail to version 3.05 provided even better support for SMTP sending.
Access to a list's control panel can now be restricted by referer, meaning, you can't visit any screen of the list control panel by any page except another list control panel screen.
You can now set a seperate, 'secure', URL to access the list control panel by.
HTML screens will be printed out with the charset setin $HTML_CHARSET.
Dada Mail is working towards being easily translated to any language you need. The first steps toward this have been taken
It's now easier than ever to admin your list.
Sending a webpage to your list is much more robust, taking to account outside stylesheets and giving you the option to embed the images into the message itself in various ways.
You may also pass a username and password to access password protected webpages.
Bugs Fixed
This was fixed by the upgrade to Mail::Bulkmail 3.
(webcal://...) are now supported and will be converted to a live link in archives and in HTML from plaintext list messages, the same way http and ftp links are.
This can seriously cut down on the amount of bounces you receive when people put invalid addresses in a subscription form.
support for emails with new, 4 character top level domains (ie .info)
Postgres, MySQL subscription list support, as well as framework for any other kind of subscription backend.
Administration look and feel now skinnable
Lists logins by root allow you to turn on and off certain features of the list control panel
Bulk sendings do not have to be forked()
for greater WinNT compatibility
support for emails with new, 4 character top level domains (ie .info)
Postgres, MySQL subscription list support, as well as framework for any other kind of subscription backend.
Administration look and feel now skinnable
Lists logins by root allow you to turn on and off certain features of the list control panel
Bulk sendings do not have to be forked()
for greater WinNT compatibility
Mojo is more secure than ever.
Almost all ofthe activites of Dada Mail can be logged.
All you need to send out any webpage on the internet to all your subscribers is a URL. Very handy, very cool.\
'nuff said
Send out a mailing inviting people to join your list. This is a much more polite way of subscribing people to your list
This version comes with a utitlity that allows you to backup your subscription lists.
This version comes with a utility that allows you to create daily statistics about your subscription lists.
Included with the Dada Mail distribution are sample scripts that give you an idea on how Dada Mail does it's mojo and how you can hook into the Dada Mail system yourself.
many peculiar bugs that cropped up after the release of Dada Mail 2.4 and after that weren't found when in development have been delt with. Anyone who has been using Dada Mail 2.4 and above and been having trouble, please upgrade.
We've totally re-wrote the control panel for sending list messages, using the comments and ideas from users of Dada Mail. There are now two ways to send list messages in Dada Mail, Basic and Advanced.
Archive search results are now shown onscreen with a summary of every place your search term was found in the archived message.
Several small bugs were found in Dada Mail 2.4, that are fixed in this version.
All mailings done by Dada Mail can be done using a SMTP connection, yielding incredibly fast deliveries. Dada Mail uses the Mail::Bulkmail package - a fast, if not the fastest Bulk Mailer module in existence. SMTP mailings will work transparently to the end user, everything you've grown accustomed to while using a mail program will be available for you using smtp.
Archiving and displaying have been totally rewritten and overhauled, many new and useful features have been added to your message archives.
Many internal functions of Dada Mail have been completely rewritten to be optimized for large/busy lists. Have your list of 50,000 respond as if there were only 50 people on the list.
Have a finer grain of control on how your group lists are run.
Double opt out unsubscribers, for greater security.
Support for Non-English character sets, different Content-Types, and Precedence Settings.
Dada Mail's control panel is more like any other program on your computer that you are familiar with
You can now specify what e-mail addresses are not allowed to subscribe to your lists (like you @yours.com), or match a part of an email address, (like .com or Homer). E-mail addresses are check to see if they are black listed when somone tries to subscribe to a list, when they confirm to a subscription e-mail and in the administration control panel, when e-mail addresses are added.
You now have the ability to use the mojo root password to log into any list on your site, instead of trying to keep track of many password lists.
The ``Remove Subscribers'' screen has been clarified, as has the ``Administration Login'' screen, the sign in screen, and the ``new list created'' screen.
Searching your list subscribers is accessable from the control panel menu (it is disabled by default)
Very large lists can sent without bowser timeouts, mail program restrictions, or server overload.
Routines are now faster, more sophisticated and less error prone.
you can now specify a link back to your site on a List by List basis
you now have the ability to start and stop message archivings, as well as hiding archives to visitors on a list by list basis.
The Dada Mail web-based interface has been cleaned up and is now taking advantage of recent CCS style abilities.
Dada Mail can still be set up by changing just 4 variables, but can also be customized and tweaked using the CONFIG.pm file. Having the variables set in a Configuration file means other programs can be built to take advantage of Dada Mail's abilities (like dada_send.pl, included in the distribution) and you can now make utilities that work with Dada Mail.
Most shared subroutines are now kept in one Module, all HTML template subroutines are kept in another, all password subroutines are kept in still another and configuration settings are kept in one more. This means writting new abilities in Mojo will become far easier and Dada Mail utilities will be faster than ever!
You can now set a default list that will set the overall look and design of Dada Mail screens, making Dada Mail blend transparently into your website like never before.
You can now specify which sections you want available to a user, if you want to set up this script for a client, you can simplify the interface so as not to confuse the person or keep them from playing around with something you don't want them to.
Subscribing to a list when browsing list archives now works (again).
You can now send List E-mails in HTML, messages are saved in HTML when archived, and Mojo knows the difference between plain text messages archived and HTML messages archived and will show them correctly. When sending the List E-mail, you have the choice to send messages in plain text, HTML , HTML converted to Plain text and both HTML and Plain Text at the same time, garunteeing that the person reading your e-mail will be able to view it, even if their e-mail client doesn't understand HTML.
There was a small problem when trying to unsubscribe to a list, this has been resolved, List E-mails do not include the email and pin number in the unsubscription link, this is becaue Mojo does not send List E-mails one at a time, but all at once and cannot make each message different.
The Delete E-mail Interface is similar to the ``Add E-mail'' interface now, with a clearer way to delete e-mails, e-mails can be chosen from the entire list into a seperate delete list instead of checking off exactly what e-mails should be deleted from a list of every single e-mail address.
all e-mails can be searched in your list, searches can be made in several ways; general searches, searches by Top Level Domains, and searches by popular ISP and e-mail searcices.
Several tables are now available under ``view list'' in each list's control panel that lets you see your subscribers sorted by Third Level Domain Names (.com, .edu, .net) and popular ISP's and e-mail services (Yahoo! Mail, Hotmail, Prodigy) The Administator can now also send the entire list to himself, or open the list in a new window.
When setting up a new list, you can now specify a list administrator, who will receive the list's e-mail error messages and also write a private policy statement. Both of these new fields are optional.
Dada Mail is starting to Modularize itself, breaking up into smaller files for better performance and easier customization. Dada Mail now has seperate Modules for sending e-mail, its templates and misc. subroutines. These modules can be incorporated into your own Mojo-like program.
Many new features have been added on the admin side, as well as the visitor side All features in place before have been enhanced in some way.
Dada Mail now uses the AnyDBM_File module instead of just the DB_File module, making it much more exportable to different server configurations.
Dada Mail has now been given the ability to archive its messages, and show these archives to your visitors and from the administration side. This ability can be turned off and on and archives can only be available to the administration if need be.
The look of the script can be changed using templates that Dada Mail will recognize and use. This can be managed easilly on the administration side using your web browser.
Dada Mail now uses encrypted passwords for all its lists, protected the information and the list itself
Dada Mail delivers the messages to the mail program in a more streamlined manner, making delivery seem to take less time.
Errors when using the script (not server side errors) are handled in a much more pleasant way.
The code of Dada Mail has been rearranged and clarified. Better coding methods have been taken advantage of and the script as a whole is more efficient. There were also a few speling mistakes fixed :)