NAME dada_bridge.pl


DESCRIPTION

THIS IS A BETA RELEASE OF THIS PLUGIN!

Saying that,

dada_bridge.pl is a proof of concept idea to allow the support of sending email from your mail reader to a Dada Mail list, both for announce-only tasks and discussion lists.

Basically, a POP3 account is used that this script will check on a schedule, once validated, messages received will be sent off to an entire list.

Easy. Simple. Easy and Simple = Good!

Notice for dada_send.pl users:

if you're familiar with the dada_send.pl extension, this plugin does the same thing - but a little better, and much much more secure. I have officially abandoned the dada_send.pl extension and code, since I think I first wrote it four years ago and it's seen little work since then.

Bad news.

You should not use the dada_send.pl extension. Use this plugin instead! Give me feedback! Send money for development!


REQUIREMENTS


INSTALLATION

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?

Change the lib path

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 installed the MIME-Tools in your own account's perllib, add that directory path to this list as well.

Ok! Done configuring the script!

Upload into the plugins directory

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.

Configure the Config.pm file

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.

Configuring the POP3 email, server, username, password

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

Set the cron job

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.


TESTING

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.


BETA Software?! Why are you releasing it?

Because. This plugin isn't complete. It needs more work. Here's a few things:

TODO

Wishlist

So - Hire Me to Do More Work On This Plugin!

If you're someone that needs the abilities of this plugin, but needs one or all of the things (or something else) in the to-do, hire me to put them in. Five hours of paid work will do wonders for this plugin! Fifteen hours, spread over three clients will almost finish it! 40 hours - my God, The Mailman program will feel the heat!

What does your company need that I can build in? For a few hours, how can we build on what's already available to solve a problem you're having? Let's talk:

http://dadamail.org/contact/


BUGS - KNOWN ISSUES

It's been reported that messages on a POP3 server will note be removed for some reason, thus sent again and again, and again and again.

Currently, there is a text in the program to stop this, let's hope it works!


Thanks To:

The following organizations have already helped in the development of this plugin:

Eastside Arts Coalition - http://eastsidearts.org/


COPYRIGHT

Copyright (c) 2004 - 2005 Justin Simoni http://justinsimoni.com

All rights reserved.


LICENSE

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.