dada_bridge.pl is located in the, dada/plugins directory of the Dada Mail distribution.
dada_bridge.pl is a proof of concept program created to allow the support of sending email from your mail reader to a Dada Mail list, both for announce-only tasks and discussion lists.
This plugin gives support for Discussion Lists and sending announce-only messages from your mail reader to Dada Mail.
Before I get asked the inevitable question, ``why did you reinvent another wheel?'', here's my response:
dada_bridge.pl, along with Dada Mail is not meant to be a replacement for similar systems, such as Mailman or Majordomo. dada_bridge.pl is a much simpler program with far fewer features then either of these two programs.
As with most of Dada Mail, the primary goals are usability and... well - style!
dada_bridge.pl does solve a few problems with trying to use similar programs -
Having solved these two problems also makes dada_bridge.pl potentially more secure to use and opens its use to a wider audience.
Many of dada_bridge.pl's concepts are slightly different than what you may be used to in traditional mailing lists:
Usually, in a mailing list manager, this address is created automatically by the program itself: not so in Dada Mail - you'll have to manually create the email (POP3) account and plug in the email, pop3 server and username/password into Dada Mail.
This sounds like a step backward, but it allows anyone who can make POP3 accounts to have a discussion mailing list. You also have a whole lot of flexibility when it comes to what the List Email can be.
In normal use, dada_bridge.pl will check this account and route any messages it finds accordingly. When in normal use, do not check this account yourself.
Saying all this, dada_bridge.pl's niche is probably with small to medium sized lists. This program has not been tested with lists larger than a few hundred, so your mileage may vary.
The other thing you may want to take into consideration is the lack of proper threading in Dada Mail's web-based archives. At the moment, archives are only sorted by date.
This may/may not be a deal breaker, but also take into consideration that the displaying of complex email messages is usually actually better in Dada Mail than most other mail archive viewing programs.
One more thing to take into consideration is that there is currently no filter in place to reject messages based on size or type. There is a way currently to strip messages with attachments of a certain file ending or mime-type.
These two issues may be at least partly worked around using the preferences of your POP email account. Many services will at least allow you to set a per-mailbox limit, or even a per-message limit for size.
As for content, Dada Mail is currently completely MIME-aware and will accept anything it can parse, which means, multipart messages, attachments, inline embedded images - the works.
For a stopgap solution to the last issues, you may look into a mail filtering program like Procmail, which can be configured to death.
That's about it.
Multipart messages, attachments and inline embedded images will work very well if you use the *SQL backend for Archives. They may not work at all if you don't.
Since you don't have any control over the type of messages being sent using dada_bridge.pl, I would use the *SQL backend for Archives.
For the same reason, I also and cannot stress enough that you check,
Disable Embedded JavaScript in Archived Messages
In Dada Mail's List control panel under, Manage Archives - Archive Options - Advanced. This will prevent exploitations embedded in messages sent to the list when viewed in Dada Mail's own archives. Along with Javascript, this option will strip out: embed, object, frame, iframe, and meta tags.
This feature does require the use of a CPAN module called, HTML::Scrubber, which you may have to install yourself.
If you do not have this available, I do urgently suggest you do not use archiving for discussion lists.
This script is both a command line tool you'll probably only call via cron job once everything is set up and it's a Dada Mail plugin. That means, most of the configuration is done using your web browser, and it does its dirty work behind the scenes. Nice, huh?
Since the bounce handler is going to be run via a command line, you need to explicitly state where both your path to the regular Perl libs are, and the Dada Mail libraries are. For example:
use lib qw( /home/myaccount/www/cgi-bin/dada /home/myaccount/www/cgi-bin/dada/DADA /home/myaccount/www/cgi-bin/dada/DADA/perllib /usr/local/lib/perl5/site_perl/5.8.0/mach /usr/local/lib/perl5/site_perl/5.8.0 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.0/BSDPAN /usr/local/lib/perl5/5.8.0/mach /usr/local/lib/perl5/5.8.0 );
If you don't know where your Perl library is, trying running this via the command line:
perl -e 'print $_ ."\n" foreach @INC';
If you do not know how to run the above command, visit Dada Mail in a web browser, log into your list and on the left hand menu and: click, About Dada Mail
Under Script Information, click the, More... link and under the, Perl Library Locations, select each point that begins with a, ``/'' and use those as your site-wide path to your perl libraries.
Ok! Done configuring the script!
You can specificy how many messages you want to have the program actually handle per execution of the script by changing the, $MessagesAtOnce variable. By default, it's set conservatively to, 1.
We're assuming your cgi-bin looks like this:
/home/account/cgi-bin/dada
and inside the dada directory is the mail.cgi file and the DADA (uppercase) directory. Good! Make a new directory in the dada directory called, plugins.
Upload your tweaked copy of dada_bridge.pl into that plugins directory. chmod 755 dada_bridge.pl
OK, we're done with that.
This plugin will give you a new menu item in your list control panel. Tell Dada Mail to make this menu item by tweaking the Config.pm file. Find this line in Config.pm file:
# {-Title => 'Discussion lists', # -Title_URL => $PLUGIN_URL."/dada_bridge.pl", # -Function => 'dada_bridge', # -Activated => 1, # },
Uncomment it (take off the ``#'''s)
Save the Config.pm file.
Ok. Done with that.
dada_bridge.pl accesses a POP3 email account, checks it for new messages and, after validating the message, sends it off to your subscribers.
Make a new POP3 account for your list. Each list needs its own POP account. Note the email address, server, username and password.
Do not use this POP3 account for anything else.
Log into your list control panel. On the left hand menu, you should see a new link entitled, ``Discussion Lists''. Follow that link.
You will see a form that will want your POP3 email address, server, username and password. Enter those.
Done. Dada Mail is now connected up to your new mailing list address. If you're the list owner, mail to this address, it will mail to the rest of your users. If you have a discussion list, everyone on the discussion list can email to the rest of the list using your new mailing list address. Life is sweet.
Oh - one more thing
Cron Jobs are scheduled tasks. We need something to check your POP3 email account quite a bit. We're going to set a cron job to test for new messages every minute. Here's an example cron tab:
* * * * * /usr/bin/perl /home/myaccount/cgi-bin/dada/plugins/dada_bridge.pl >/dev/null 2>&1
Where, /home/myaccount/cgi-bin/dada/plugins/dada_bridge.pl is the full path to the script we just configured.
That's it.
You can access the dada_bridge.pl script via the command line. There are a few options you can use:
Example:
prompt>dada_bridge.pl --test pop3 --list yourlistshortname
Will test the pop3 connection of a list with a shortname of, yourlistshortname
Another Example:
prompt>dada_bridge.pl --verbose --list yourlistshortname
Will check for messages to deliver for list, yourlistshortname and outputting a lot of information on the command line.
Because. This plugin isn't complete. It needs more work. Here's a few things:
dada_bridge.pl is currently in beta form, but progress to complete the script is moving along quite nicely.
Dada Mail's own development list uses dada_bridge.pl, as we'd fee really embarrassed if we were using anything else. It seems to be working quite well:
List:
http://mojo.skazat.com/cgi-bin/dada/mail.cgi/list/dadadev/
Archives:
http://mojo.skazat.com/cgi-bin/dada/mail.cgi/archive/dadadev/
If you are interested in sponsoring development of this program, please contact us at:
http://mojo.skazat.com/contact/
The following organizations have already helped in the development of this plugin:
Eastside Arts Coalition - http://eastsidearts.org/
Copyright (c) 2004 - 2006 Justin Simoni http://justinsimoni.com
All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.