Giter Club home page Giter Club logo

justingit / dada-mail Goto Github PK

View Code? Open in Web Editor NEW
167.0 23.0 40.0 32.79 MB

Self-Hosted, Full Featured, Email Mailing List Manager. Announcement + Discussion Lists, Web-based Installer, Installs with minimal dependencies, sendmail/SMTP/Amazon SES supported

Home Page: https://dadamailproject.com

License: GNU General Public License v2.0

Perl 94.12% PHP 0.12% CSS 0.08% JavaScript 4.39% HTML 1.22% Rich Text Format 0.07%
self-hosted perl mailing-list cgi web-based amazon-ses fcgi psgi

dada-mail's Introduction

Dada Mail

Introduction

Dada Mail is a contemporary, mature and intuitive web-based email list management system.

Dada Mail handles Closed-Loop Opt-in subscriptions, sending complex announce-only and/or discussion mailing list messages with an advanced, fault-tolerant mass mailing monitor, supports the archiving/viewing/searching/resending/syndicating (rss, atom feeds) of sent messages and doing all this and a whole lot more with style.

Dada Mail can handle custom subscriber fields and searching these fields, allowing you to send mass mailing to only part of your mailing list. Dada Mail's email templating system allows you to create targeted and completely custom email messages (mail merging) for each and every one one of your subscribers.

Dada Mail is bundled with additional plugins and extensions to extend Dada Mail's capabilities. Some of the plugins/extensions support advanced bounce handling, clickthrough tracking, mass mail scheduling, blog interfaces of archived messages, AJAX subscription form trickery and lots of other surprises.

Dada Mail produces HTML5 web content and sticks to best practices when creating email messages. Write Once: Distribute Everywhere. Dada Mail is free software that you're able to use, modify, share and enhance under the terms of the GNU General Public License. Dada Mail is written in Perl because we love Perl.

Dada Mail's system requirements are minimal: it runs as a CGI script (running under FastCGI and PSGI are also options), requires only Perl 5.10.1, supports multiple SQL backend flavors, bundles all of its CPAN Perl module dependencies, and comes with a web-based installer. Download/Upload the distro, run the installer script.

Dada Mail works well in shared hosting environments thanks to its mass sending throttling capabilities. Dada Mail can also work well with large mailing lists that can utilize a third party email service, like Amazon SES.

Building Dada Mail

If you're pulling Dada Mail from its repository, you'll have to build the app to get it into a shape that will allow you to deploy it.

First, download the repo,

git clone https://github.com/justingit/dada-mail.git

Then, run the bundled, make_distro.pl script,

cd dada-mail
perl make_distro.pl 

Once the script is done running, two files will be created in the distribution directory.

Follow the directions at, https://dadamailproject.com/d/install_dada_mail.pod.html to install the app using the two files created.

HOMEPAGE

https://dadamailproject.com

INSTALLING

https://dadamailproject.com/d/install_dada_mail.pod.html

DOCUMENTATION

See:

https://dadamailproject.com/d

SUPPORT

DEVELOPMENT

Dada Mail is developed openly at:

https://github.com/justingit/dada-mail

"main" - always stable

Mailing List:

https://dadamailproject.com/cgi-bin/dada/mail.cgi/list/dadadev/

LICENSE AND COPYRIGHT

Copyright (c) 1999 - 2023 Justin Simoni 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

dada-mail's People

Contributors

asuweb avatar dleffler avatar justingit avatar markstos avatar mss avatar openstrike avatar yunheng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dada-mail's Issues

Alignment with regular textboxes and field labels

The f=profile_login screen shows input fields which are badly vertical aligned:

Adding "margin-top:-5px;" to these input fields will correct this, the same way as already done with:

input.full {
width:95%;
margin-top:-5px;
}
input.midi {
margin-top:-5px;
width:50%;
}

from default_css.css.

Also I would like to see these input fields much wider otherwise even a short email address like [email protected] cannot be shown at once.

Unsubsciption Notice to List Owner doesn't have subscriber (profile) fields

The subscriber field values for the subscriber when a, "unsubscribed!" message is never filled in - even though it is for the, "subscribed!" message.

This is because there's nothing in Dada Mail to grab information about a subscriber that doesn't exist. A hack could be put in place to get this info from other sources.

parse_for_windows_live suboutine is broken

Sometimes, if this subroutine is run, you'll get this error:

[Sun Dec 13 18:37:48 2009] dada_bounce_handler.pl: dada_bounce_handler.pl - irrecoverable error processing message. Skipping message (sorry!): Can't call method "head" on an undefined value at /var/www/cgi-bin/dada/plugins/dada_bounce_handler.pl line 3607, line 292791.

4.0.1 Open discussion lists broken

Open discussion lists (accepting mail from someone who is not on the list)
seems to be broken in 4.0.1 (worked OK in 3.x). I've set
"Allow_Open_Discussion_List" to 1 in the plugin itself, in my external
.dada_config and in Config.pm and checked that it shows as enabled in
Plugins/Discussion Lists/View All Plugin Configurations.

There is no failure message in the usage logs or error logs - a message
sent to the list just silently disappears. But if I click the Manually
Check and Send Waiting Messages button in dada bridge (before the cron job
runs and the message disappears) I can see it fails due to being
not_from_list_member and not_from_authorized_subscriber. It seems to be
100% reproducible.

This is essential functionality for me because committee members often send
to the list from work addresses I don't know about. They've stopped using
the list because it "never works".

form impersonation re ID: 2920762

This relates to a bug I had reported on 2009-12-24. I do have 4.02 Pro installed.

Here is a similar issue where the from is the list address itself, shouldn't have gone through...

Neither [email protected], or [email protected] are on the network list.

From [email protected] Wed Feb 17 17:45:27 2010
Received: from <tmpl_var LEFT_BRACKET>201.94.162.134<tmpl_var RIGHT_BRACKET> (port=1357 helo=OAWEPGWF)
by vps2033.inmotionhosting.com with esmtp (Exim 4.68)
(envelope-from [email protected])
id 1NhvRU-000696-Uc; Wed, 17 Feb 2010 17:45:27 -0800
Received: from 201.94.162.134 by ns.ccu.cz; Wed, 17 Feb 2010 22:44:12 -0300
Message-ID: 000d01cab03b$def90060$6400a8c0@annotatingk78
From: "Microsoft Team" [email protected]
To: [email protected]
Subject: Conflicker.B Infection Alert
Date: Wed, 17 Feb 2010 22:44:12 -0300
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_0006_01CAB03B.DEF90060"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-Spam-Status: No, score=1.0
X-Spam-Score: 10
X-Spam-Bar: +
X-Spam-Flag: NO

Use One SMTP Connection per Batch (Experimental) unsaveable?

http://dadamailproject.com/support/boards/viewtopic.php?f=5&t=1768&p=6757#p6757

* Report this post
* Reply with quote

Another 3 -> 4 migrating problem

Postby WouterM » Wed Dec 23, 2009 1:08 pm
Hi,

I have encountered a weird problem after upgrading to version 4. Everything works fine except for the "Use One SMTP Connection per Batch (Experimental)" feature. I can not select it because "SMTP Sending is disabled." Yet when I look at the Sending Preferences, it says "Messages are currently being sent via SMTP using SMTP server, mail.****************.com." These two messages do not add up.

Kind regards,

W

WouterM

Posts: 13
Joined: Thu Sep 24, 2009 1:18 pm

Top

* Edit post
* Report this post
* Reply with quote

Re: Another 3 -> 4 migrating problem

Postby justin » Thu Dec 24, 2009 1:08 pm
It looks like that message, "SMTP Sending is disabled." is there shows up, if you're using SMTP sending or not - that's a bug for sure, but even if SMTP is selected or not, I can still select and change that setting (Use One SMTP Connection per Batch (Experimental)) You can't?

  • Justin J, Lead Dadaist for Dada Mail
    Support Dada Mail by Going Pro!.

User avatar
justin

Posts: 2210
Joined: Wed Feb 13, 2008 8:41 pm
Location: Denver, CO

    * Website

Top

* Report this post
* Reply with quote

Re: Another 3 -> 4 migrating problem

Postby WouterM » Fri Dec 25, 2009 12:17 am
I can select it but when I hit save it comes back unselected again.

WouterM

Posts: 13
Joined: Thu Sep 24, 2009 1:18 pm

Top

* Edit post
* Report this post
* Reply with quote

Re: Another 3 -> 4 migrating problem

Postby justin » Sun Dec 27, 2009 1:56 am
I'll add this to the issues and see if I can't make a fix, for the next release,

"List Password Reset" email message cannot be over-rided

The following vars from Config.pm cannot be overrided by a custom .dada_config because the || (OR) are missing:

$LIST_CONFIRM_PASSWORD_MESSAGE_SUBJECT = '[etc]'
$LIST_CONFIRM_PASSWORD_MESSAGE = <<EOF [etc]

$LIST_RESET_PASSWORD_MESSAGE_SUBJECT = '[etc]'
$LIST_RESET_PASSWORD_MESSAGE = <<EOF [etc]

MySQL schema isn't compatible with MySQL 4

You'll get things like this:

CREATE TABLE IF NOT EXISTS dada_profile_fields_attributes (
attribute_id int4 not null primary key auto_increment,
field varchar(320),
label varchar(320),
fallback_value varchar(320),
-- I haven't made the following, but it seems like a pretty good idea...
-- sql_col_type text(16),
-- default mediumtext,
-- html_form_widget varchar(320),
-- required char(1),
-- public char(1),
CONSTRAINT UNIQUE (field)
)
Problem executing query:
cannot do statement! BLOB/TEXT column 'field' used in key specification without a key length
at dada3_to_dada4_sql.pl line 113

POP3/SMTP passwords corrupted?

Sometimes, the POP3/SMTP passwords (anything using CyberSaber to make a 2-way hash) will become corrupted, if you attempt to save the info. Very frustrating, when attempting to test POP or SMTP stuff

Moderation broken on Dada Bridge

Moderation is broken on Dada Bridge. The, "safely_encode" and, "safely_decode" subroutines in DADA::App::Guts are never exported, since we tell the SimpleModeration package not to, ala:

 use DADA::App::Guts qw(!:DEFAULT);

There are also other issues that disallow the moderation to work correctly.

Errors

[Sun Apr 11 08:20:03 2010] [error] [client 203.206.129.129] [Sun Apr 11 08:20:03 2010] auto_pickup.pl: Use of uninitialized value in numeric eq (==) at ..//DADA/Mail/Send.pm line 138.
[Sun Apr 11 08:20:03 2010] [error] [client 203.206.129.129] [Sun Apr 11 08:20:03 2010] auto_pickup.pl: Reloading message... at ..//DADA/Mail/MailOut.pm line 1692
[Sun Apr 11 08:20:03 2010] [error] [client 203.206.129.129] [Sun Apr 11 08:20:03 2010] auto_pickup.pl: Use of uninitialized value in numeric eq (==) at ..//DADA/Template/Widgets.pm line 1871.

[Sun Apr 11 09:20:02 2010] [error] [client 203.206.129.129] [Sun Apr 11 09:20:02 2010] auto_pickup.pl: Use of uninitialized value $encstr in substitution (s///) at ../DADA/perllib/MIME/EncWords.pm line 294.
[Sun Apr 11 09:20:02 2010] [error] [client 203.206.129.129] [Sun Apr 11 09:20:02 2010] auto_pickup.pl: Use of uninitialized value $encstr in substitution (s///) at ../DADA/perllib/MIME/EncWords.pm line 295.
[Sun Apr 11 09:20:02 2010] [error] [client 203.206.129.129] [Sun Apr 11 09:20:02 2010] auto_pickup.pl: Use of uninitialized value $encstr in scalar assignment at ../DADA/perllib/MIME/EncWords.pm line 303.
[Sun Apr 11 09:20:02 2010] [error] [client 203.206.129.129] [Sun Apr 11 09:20:02 2010] auto_pickup.pl: Use of uninitialized value $encstr in length at ../DADA/perllib/MIME/EncWords.pm line 305.

"Send Subscribers to List Owner" function not very friendly to use

It would be better if:

• The subscriber list was an attachment, not just inline
• The attachment was named with a, ".csv" file ending, so it could be opened via one-click into a spreedsheet application

Currently, the information has to be copied and pasted into a text file, saved with a , ".csv" ending and then opened into a spreedsheet app. Argh!

Beatitude Scheduled List Not in Any Useable Order?

If you have a large number of awaiting schedules, the order that which they are listed in Beatitude is based, probably, on the date of creation, instead of something my useful, like the date of the next mailing - it would be better to index them on that, than on date of creation, which doesn't have any real relationship with the scheduled mailing (or it's DOA).

fieldset background color bug in IE

When the legend of a fieldset is present, the grey background color bleeds out of the fieldset box when using Internet Explorer. This is a known bug in IE, see: http://social.msdn.microsoft.com/Forums/en/iewebdevelopment/thread/53876982-02c8-406e-a900-423803d5780c

Fortunately it can be fixed by dissociating the legend tag from the normal flow of the document, see http://www.mattheerema.com/web-design/2006/04/getting-fieldset-backgrounds-and-legends-to-behave-in-ie/

Therefore I have added the following code to default_list_templte.tmpl and default_admin_template.tmpl just before the tag to correct the problem:

<!--[if IE]>
<style type="text/css">
legend{
position:absolute;
top: -.5em;
left: .5em;
line-height:1.1em;
}

fieldset{
position: relative;
margin-top:2em;
padding-top:.75em;
padding-bottom:0px;
}

</style>
<![endif]-->

Tested on Internet Explorer, Firefox, Safari, Opera, Chrome.

Bounce Message reports that put email addresses in brackets <> can't be parsed?

Here's what giving problems:

Return-Path: <>
Delivery-Date: Thu, 07 May 2009 11:03:07 -0400
Received-SPF: pass (mxus6: domain of mout-bounce.perfora.net designates
74.208.4.198 as permitted sender) client-ip=74.208.4.198;
[email protected];
helo=mout-bounce.perfora.net;
Received: from mout-bounce.perfora.net (mout-bounce.perfora.net
[74.208.4.198])
by mx.perfora.net (node=mxus6) with ESMTP (Nemesis)
id 0MKorw-1M257r1AOh-0001Ph for [email protected]; Thu, 07 May 2009 11:03:07
-0400
Received: from mout by mous0.kundenserver.de id 0MKp0C-1M256t0XaG-000NMl;
Thu, 07 May 2009 11:02:07 -0400
Date: Thu, 07 May 2009 11:02:07 -0400
From: Mail Delivery System <[email protected]>
To: [email protected]
Subject: Mail delivery failed: returning message to sender
Message-Id: <[email protected]>
X-Original-Id: 0MKp8S-1M256p3PJt-000g9f
Envelope-To: [email protected]

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of
its recipients. The following addresses failed:

<[email protected]>

SMTP error from remote server after RCPT command:
host mx1.hotmail.com[65.55.37.88]:
550 Requested action not taken: mailbox unavailable


--- The header of the original message is following. ---

Received: from infong488.perfora.net (infong488.lxa.perfora.net
[74.208.16.29])
by mrelay.perfora.net (node=mrus0) with ESMTP (Nemesis)
id 0MKp8S-1M256p3PJt-000g9f; Thu, 07 May 2009 11:02:05 -0400
Received: from 115.133.212.224 (IP may be forged by CGI script)
by infong488.perfora.net with HTTP
id 3oUdm4-1M256p2vdC-0007MU; Thu, 07 May 2009 11:02:03 -0400
X-Sender-Info: <[email protected]>
Precedence: bulk
Date: Thu, 07 May 2009 11:02:03 -0400
From: "Sivananda" <[email protected]>
To: "Sivananda Subscriber" <[email protected]>
Reply-To: "Sivananda" <[email protected]>
X-Priority: 3
List: gurudev
List-Archive:
<http://www.dlshq.org/cgi-bin/dada/mail.cgi/archive/gurudev/>
List-ID: <gurudev.infong488.schlund.de>
List-Owner: <[email protected]>
List-Subscribe: <http://www.dlshq.org/cgi-bin/dada/mail.cgi/s/gurudev/>
List-Unsubscribe: <http://www.dlshq.org/cgi-bin/dada/mail.cgi/u/gurudev/>
List-URL: <http://www.dlshq.org/cgi-bin/dada/mail.cgi/list/gurudev/>
Message-ID: <[email protected]>
X-Mailer: Dada Mail 3.0.2
Content-type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline
MIME-Version: 1.0
Subject: Sivananda Day-to-day (410)
X-Provags-ID: V01U2FsdGVkX1/VJ3qhgR9rnHKUAaSAA11Mdgwdn162xLtfNoF
oM3acTU58XOSdHRK7SstXBVsBiEF2RwdFaGY4JdvnpemWLhNmM
3BUqZHuFB0=

Fallback Variables aren't used.

Archives don't correctly template out tags using fallback variables

That's because, the fallback variables are never given to HTML::Template correctly.

Pretty big glaring f'n issue.

This probably affects everything using fallback variables - that feature is essentially broken

I can't even believe there isn't even a test to test this. Ugh.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.