Advanced Installation Configuration w/Dada Mail Installer

Advanced Configuration with the Dada Mail Installer

If you're looking for general instructions on how to use the Dada Mail Installer, look no further than:

https://dadamailproject.com/support/documentation-11_22_0/install_dada_mail.pod.html

Introduction

Dada Mail's global configuration is saved in a file called, .dada_config, which itself is saved in the, .dada_files/.configs directory. The file is plain text, but is a valid Perl script, so be very, very careful if/when you edit it by hand.

The Installer is generally provided to you so don't have to do this, but many, many global configuration options exist that aren't supported by the Dada Mail Installer. For a rundown of what's fully available, see:

https://dadamailproject.com/support/documentation-11_22_0/global_variables.pod.html

We'll be listing the actual global variables used, when discussing what the installer configures for you. You do have the option to edit the .dada_config file that the installer creates, to make even more customizations.

As a warning, the installer only supports reading in, and editing variables that are presented to you in the Installer itself. That means anything that's not presented to you, will be lost if you change the configuration, with the Installer again. Because of this, you'll want to put your own unsupported (by the Installer) configuration changes in a centralized place in your .dada_config file, so you can easily (manually via copy and paste) move them back to the .dada_config file that's generated.

Plugins/Extensions

You may also install many of the plugins and extensions that come with Dada Mail. Access to the plugins/extensions will be available in the list control panel's admin menu, under, Plugins

Some of the plugins/extensions have additional configuration that will need to done, before they work completely.

Bounce Handler

Bounce Handler takes care of messages bounced back to you from your mass mailings from email addresses that cannot be delivered. These include messages sent to addresses that no longer exist, or from addresses that block messages coming from your mailing lists. Without this plugin installed and correctly configured, these bounced messages are delivered to the List Owner, which can be inconvenient, or even overwhelming.

It's utility is almost essential.

Before you configure Bounce Handler, you will need to create an email account that Dada Mail can access via POP3 (or optionally IMAP). A mail forward or alias will not suffice. This email account should probably be administrated by the same system that's used by your mailing list's List Owner email address. We also suggest you use a very obvious name for the email address. Example, "bounces@yourdomain.com" usually drives the point home. Once created, make sure not to check this email address yourself, as you'll get in the way of the plugin functioning correctly. Note the Bounce Handler's email address login information, as we'll be inputting that information into this section of the installer. Every mailing list you make in your Dada Mail installation will use the same Bounce Handler email address.

Enter in the following,

Bounce Handler also has the option to connect to the mail server using the credentials you just added using POP3 (the default) or IMAP (a newer option). IMAP was added for accounts that are administrated by a third party service like Office365 or Gmail, neither which we suggest, but it is an option.

The last option you will want to fill in is the, Port. Set to Auto by default, Bounce Handler will use, 110 as the default, unless you're using a secure connection. If so: it will use port 995.

Other options are available for Bounce Handler, which are revealed if you click the link labeled, +/- Additional Configuration Options .

Additional Configuration Options

Use Secure Sockets Layer

Check this if you want to connect to your mail server over a secure connection. You may have to adjust the Port above to reflect the correct port to connect to. Usually this is port 995 for secure POP3 connections.

Upgrade from an insecure connection

Some servers can switch between an insecure to a secure connection. If that's your server, check this option.

Verify SSL Certificate (POP3-only)

Sometimes the client engine that Bounce Handler uses isn't set up to properly verify hostnames. If that's you, uncheck this option.

POP3 Authentication Type

There's various ways POP3 credentials can be authenticated when talking to the POP3 server. If you have a preference, set it here.

Enable POP3 File Locking

When enabled, only one connection to the POP3 server will happen at a time. This is most likely what you want. Sometimes the locking mechanism doesn't play nice with your specific hosting setup. If that's you, uncheck this option.

Messages to Check at Once

By default, Dada Mail will process 100 messages on each connection it makes, and makes a connection every time the scheduled tasks are run by the cronjob you'll want to set up. Processing messages takes time and if you process too many messages at once, you won't finish all the scheduled tasks the app need to do, before they're run again. That scenariop can lead to problems. There's also a chance that processing too many messages is too intense for the server to handle, and you'll blow it up (figuratively). For either of these scenarios, you'll want to lower this number. If you want to push the envelop on what can be done, raise the number.

Test Bounce Handler Connection

Once you've inputted in all the options, click the button labeled Test Bounce Handler Connection to test that everything is working. No bounced email messsages that may be awaiting will be processed, but you'll be able to see if the connection is working, and that's a very important thing to verify. You do not want bounced messages to be received, and not processed. Make adjustments to the options above if you would like, and retest.

More Information

See the documentation on the Bounce Handler for more information:

https://dadamailproject.com/d/bounce_handler.html

WYSIWYG Editors

Optionally, you may also configure the WYSIWYG editors that come bundled with the Dada Mail distribution. These WYSIWYG editors will enable you to author and edit your HTML Mailing List Messages right in Control Panel Settings.

Install and Configure WYSIWYG Editors

If you would like to use the bundled WYSIWYG editors with Dada Mail, check the option, Install and Configure WYSIWYG Editors - which is checked by default. Uncheck this option, if you'd like to skip setting up the WYSIWYG editors.

Dada Mail has support for two different rich text ediors - CKeditor and Tiny MCE. Both can be installed at the same time, although only can be used at one time. You may switch which one is enabled for your list in the list control panel under, Control Panel Settings: Options

File Browsers/Uploaders

Dada Mail also has support for variosu File Browser/Uploaders, allowing you to add images you'll host directly to your email messages, as well as add files to your message as attachments. Unlike the rich text editors, only one file browser/uploader can be installed at one time. Both options mostly have feature parity, although their security and sessioining systems differ. We'll explain those, below:

Install Rich FileManager (default)

Select this option to use Rich Filemanager (https://github.com/servocoder/RichFilemanager). Rich Filemanager uses PHP Sessions for security, which Dada Mail will provide. If you're having problems utilizing Rich Filemanager, try simply logging out, then back into your list. If you're still having problems, try the Core Five FileManager.

We suggest running Rich Filemanager only if you have version 5.4 or higher of php available. Otherswise, Rich Filemanager may not work correctly.

Install Core Five FileManager

Select this option to use Core Five FileManager (https://github.com/simogeo/Filemanager). In Dada Mail, Filemanager uses the same sessioning system as Dada Mail itself, which can make for a smoother experience, if KCFinder is not working correctly.

Configure Handling Personally Identifiable Information (PII)

Personally Identifiable Information (PII) is any information that can be used to identify a person.

For example: an email address can pretty easily be tied to one individual. Coupled with the IP Address of where requests to the app comes from, we can then know where this individual is on Earth. The timestamp saved can also tell us when that person was at that specific location. Further, we can then easily create a history of where this individual is over time, as well as exactly how they interacted with the application.

By default, Dada Mail attempts to record as little Personally Identifiable Information as possible, and this is reflected with the defaults in the app. This is done for many reasons. One is to respect the privacy of the users of the app. Another is to make sure that a mailing list follows the guidelines put down by GDPR. So, by default, email addresses are not logged for analytic purposes (message opens, clickthroughs, etc), and IP Addresses (which locations can be extrapolated from) are anonymized.

Allow email addresses to be logged for tracking/analytical purposes

When checked, this will allow, per list, the option to be presented to add email addresses logging for items like message opens, clickthroughs, etc.

Each mailing list will still need to explicitely set this option in the Tracker plugin - checking this option installer just makes that now available.

Logging IP Addresses

By default, all IP addresses that can be tied to users of the app are logged with IP addresses that are anonymized, so that the exact location cannot be estimated via reverse IP lookup. This option allows you to choose, installation-wide, if IP addresses are logged as they originally are reported to by the app, or if they are anonymized. ("anonymized" is the default).

Configure Scheduled Jobs

Dada Mail requires a cronjob to run for some of its more advanced features: keeping tabs on mass mailings going out, sending out scheduled mailings, the Bridge plugin (discussion lists, and announcement messages sent via email), etc.

More on Scheduled Jobs and Dada Mail:

https://dadamailproject.com/d/features-scheduled_cronjobs.pod.html

Scheduled Jobs Flavor

The Scheduled Jobs Flavor changes the URL and PATH INFO used to access Dada Mail, to run your scheduled jobs. The idea is that this URL should be slightly unique, so that an anonymous party cannot run the schedules themselves, just by visiting an easily guessable URL.

The Scheduled Jobs Flavor should be unqiue, and not be the value of another flavor used by Dada Mail (admin, send_email, etc). An easy way to make sure of this, is just to preceed your flavor with, _sched and then set the rest of the string to whatever you would like. Example,

    _sched83449774F89D9E95

Log Job Output

When checked, Log Job Output will log anything returned by the jobs run. You'll find this log in the .dada_files/.logs/cronjob_output.txt file. This is helpful with debugging a problem, but this file can potentially get very large - and quickly, so think of either using this option temporarily, or schedule a cronjob to either rotate, or delete this log.

Run Periodically After App Execution

When checked (default), Run Periodically After App Execution will run the scheduled jobs usually handled by the cronjob simply after a normal execution of the app. This will facilitate using Dada Mail for many of the tasks required of the cronjob if the cronjob itself has not been set.

This running of the scheduled jobs will only happen in this manner no more than every 7 minutes, and won't run if the scheduled jobs are run in any other way, like when the actual cronjob runs, or if the scheduled jobs are run manually. This backround running also happens only if the app is itself executed (by visiting the app in a browser, for example). Thus it's a good safeguard, but it can't completely replace setting up the cronjob.

Config Variable: $SCHEDULED_JOBS_OPTIONS

Configure Deployment Options (EXPERIMENTA)

Dada Mail can be deployed as a CGI, FastCGI, or PSGI/Plack app. Any deployment, other than CGI is marked as, EXPERIMENTAL.

If you're setting things up using the included installer through the web-based interface, you're probably going to keep this set as the default, CGI or FastCGI. If you would like to set Dada Mail up to be deployed under PSGI, it's best to use the command line interface of the installer, as the web-based installer itself runs under CGI.

More on FastCGI Support:

https://dadamailproject.com/d/features-fastcgi.pod.html

More on PSGI Support:

https://dadamailproject.com/d/features-psgi_support.pod.html

Command Line Installer:

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

Config Variable: $RUNNING_UNDER. Valid values: CGI, FastCGI, PSGI

Configure Perl Environment

Additional Perl Library Paths

Dada Mail comes with most of the CPAN Perl modules it needs to function correctly, and optional features can be enabled by installing additional CPAN Perl Modules. See the following docs on how to do that:

https://dadamailproject.com/d/FAQ-installing_CPAN_Perl_modules.pod.html

There's a chance that your Perl library has been set up in a location that Dada Mail would not check by default. If that's the case, add the absolute path to this library location in the text box labeled, Additional Perl Library Paths.

Configure Profiles

Profiles allow your users to manage their own subscriptions in one centralized location. For an overview of Dada Mail Profiles, see:

https://dadamailproject.com/support/documentation-11_22_0/features-profiles.pod.html

In general, this option allows you to configure the, $PROFILE_OPTIONS config variable, which is explained in detail in the doc above. You'll notice that not all of the parameters in that variable are supported by the installer.

Profile Administration Email

The Profile Administration Email holds an email address that used for any transactional email messages that go out for Profile tasks. Since Dada Mail Profiles aren't tied to any one mailing list, Dada Mail won't know exactly what address to use.

We highly encourage you to fill out this variable, or these email messages may not be sent out correctly. You may use just an email address:

        me@mydomain.com

a little more fancy, with a full email header, with phrase:

        "My First and Last Name!" <me@mydomain.com>

You may set two email addresses:

        "My First and Last Name!" <me@mydomain.com>, "Another User" <someone.else@example.com>', 

Although the From: header that goes out will only hold one email address.

If Profiles are enabled and the Profile Administration Email is left blank, the List Owner email address of one of your mailing lists will be used instead.

Enabled Features

CAPTCHA

Registration for Dada Mail Profiles can be verified along with a CAPTCHA. We recommend this feature, if CAPTCHA is available.

Magic Subscription Forms

Magic Subscription Forms are pre-filled out with the user's email address, if they're logged into Dada Mail.

Help Screen

Allows you to show/hide the, What are Dada Mail Profiles? link and screen. You'll see this link in the top-right corner of the user-facing UI, by default.

Profile Registration

Controls whether a new user may register to a new Dada Mail Profile. If disabled, a user may still be registered by doing the following:

Password Reset

Controls whether the, Forgot Your Profile Password? form is shown or not. If it's not shown, a user's Profile password may still be reset by a List Owner, if they're logged in with the Dada Mail Root Password.

Profile Fields

Controls whether the user may edit their own Profile Fields in their own Profile (once logged in). If disabled, a user's Profile Fields can still be edited by a List Owner, if they're logged in with the Dada Mail Root Password.

Mailing List Subscriptions

Controls whether the, Your Mailing List Subscriptions section is visible to your user in their Profile (once logged in).

Password Protected Directory Information

Controls whether The, Password Protect Directories section is visible to your user in their Profile (once logged in). If disabled, Protected Directories will still be available if any are set up, just not listed in the user's Profile.

Update Email Address

Controls whether the, Update Your Profile Email Address section is visible to your user in their Profile (once logged in). If disabled, a user's Profile password can still be edited by a List Owner, if they're logged in with the Dada Mail Root Password.

Change Password

Controls whether the, Change Your Profile Password section is visible to your user in their Profile (once logged in).

Profile Deletion

Controls whether the, Delete This Profile section is visible to your user in their Profile (once logged in).

Configure Caching

Dada Mail caches information, so to not have to constantly connect to your backend database and/or perform time-consuming calculations.

Enable Screen Cache

The Screen Cache caches the HTML screens you would see in your web browser. We suggest to always have it enabled, unless you're making customizations to the templates themselves, in which case it's exceptionally convenient to disable the Screen Cache.

Config Variable: $SCREEN_CACHE

Enable Data Cache

The Data Cache caches mostly JSON data created by Dada Mail for the graphs and charts it produces. Most of these graphs and charts are produced by the Tracker plugin, but other charts do exist. Since this data is cached, the data shown is not always 100% current. You may disable the Data Cache if you'd like to have the data shown always be the newest data available.

Config Variable: $DATA_CACHE

Configure WWW Engine

The WWW Engine is used to access resoures outside of Dada Mail including webpages and images, as well as used when connecting to web services like Amazon SES.

WWW Engine

By default, Dada Mail uses the LWP WWW Engine, which is mature and robust. As an alternative you also have the option to use curl (https://curl.se/) via the LWP::Protocol::Net::Curl CPAN Perl module, which you will need to install separately.

User Agent String

The User Agent String is what's sent in the, User-Agent header. Customizing this string can help you track requests from Dada Mail.

Verify Hostnames

Disabling Verify Hostnames may help connect to https resources, if you cannot correctly verify hostnames.

Configure Email Parsing Engine

Dada Mail uses the, MIME::Tools collection of Perl CPAN modules to do much of it's email creation and parsing. More information on MIME::Tools:

https://metacpan.org/pod/MIME::Tools

More information on how we're optimizing the parser:

https://metacpan.org/pod/MIME::Parser#OPTIMIZING-YOUR-PARSER

We've made it easy to do some simple tuning of the parser, to either make it run faster, or to use less memory.

Parse Messages in Memory

This has been the default setting for many versions of Dada Mail. It's generally faster, but can lead to problems if the message Dada Mail is trying to work with is too large.

There also may be problems if you run Dada Mail as a long running process (via PSGI support), if there is a memory leak.

If these are issues you're face, you may want to use the next option,

Parse Messags using Temporary Files

This setting is usually not used, as it could potentially be slower (more IO done), but has the added benefit of using less RAM. The downside is that it creates temporary files, which may add up and impact free disk space after a while. Dada Mail does its best to clean up after itself as soon as these temporary files are not needed, and does a sweep of any unused temporary files afterwards, but these files will be created, nonetheless.

If you do choose to use temporary files, these files can live in one of two locations:

Server's Temporary Directory (/tmp)

This usuallly means in your /tmp directory, but Dada Mail will honor a different value if set in the, TMP environment variable.

Dada Mail's Temporary Directory

Dada Mail can also use it's own temporary directory, which will be located in,

.dada_files/.tmp/_mime_cache

If any files are not removed automatically by the app after its done utilizing them, they will be removed three days after their creation date.

Config Variable: $MIME_TOOLS_PARAMS

Configure Debugging

Dada Mail's log tracing and debugging options can be configured in this section. Tracing writes extra lines to your error log, in an attempt to provide extra information about the workings of Dada Mail, that you can then go through, to make sure the app is working as it's supposed to.

We don't suggest keeping any of these debugging settings enabled for production use, as your error log will grow fairly large in size.

For more information on what each option enables, see the section on the, $DEBUG_TRACE and %CPAN_DEBUG_SETTINGS variables, in Advanced Error Logging and Reporting: https://dadamailproject.com/d/FAQ-errors.pod.html#advanced_error_logging_and_reporting

Configure Global Template Options

Global Template Options allow you to set a Global, user-facing template - that's the template that's shown for basically anything that's not the Admin List Control Panel.

Although you can set a list-specific template, this leaves any screen that's not tied to a specific mailing list left using the default template, which you may not find desirable.

Set a Global, User-Facing Template

Check this option, if you'd like to set a Global, User-Facing Template. You'll be setting where this template can be found, right below this option -

Use A Custom User Template

Check this option, to enable using your custom template.

Manually/Magically

There are two methods Dada Mail can create a User Template.

Manually

The first is manually, where you basically replace the included user template file with your own. The default user template can be found at:

dada/templates/list_template.tmpl

Some background on Dada Mail's templating language:

https://dadamailproject.com/d/features-email_template_syntax.pod.html

Server Absolute Path or URL to your User Template:

This is where you'll want to enter either the absolute path to your template file, or the URL that it can be found at.

This option gives you total control over the layout and design of your user template. For some people, this is too much control.

Magically (Experimental)

Another option is to, "magically" create a Dada Mail User Template, by basing your design on an already-existing web page. This is useful if you would like integrate your Dada Mail with the rest of your website, by having it's layout/design be based exactly on what already exists.

Magically creating this template may take a bit of trial and error. There are a few options available to tailor it to your specific needs:

Magically creating a template requires that you have the HTML::Tree CPAN Module installed. See:

https://dadamailproject.com/d/FAQ-installing_CPAN_Perl_modules.pod.html

URL:

Creating a user template magically works by first giving Dada Mail a URL to base the template off of. Set that URL in this textbox.

Add a, <base href="..."> tag:

Since you'll probably be pulling the source of the template from a different location than where Dada Mail is installed, you'll probably need to set a base href tag to the beginning of the HTML.

Check this option, then fill out what the base href URL should be, below. Most likely, it'll be the same URL as the URL, above.

Place Pro Dada's head content before/after existing content.

This controls where Dada Mail places its head content - links to the javascript libraries and css files it uses. Depending on how your current page is coded, you may want to place Dada Mail's head content before, or after what's already there.

Stylesheet Options

Include Dada Mail's own stylesheet

Check this option to have Dada Mail style its content, and only its content, using styles set in its own included stylesheet. This is done by wrapping Dada Mail's own content with another div tag, with the id of, "Dada"

Include a custom stylesheet

Check this option, and give the URL of a custom stylesheet. This option works well in conjunction with the previous option.

Javascript Options

Dada Mail relies on some JavaScript libraries to enhance its user experience. These libraries aren't strictly required to run Dada Mail, and sometimes disabling them give you a better user experience, when using Magic Templates:

Include a Copy of jQuery (v2.1.4)

Keep this option checked, if your site's design doesn't use jQuery. Uncheck this option if a jQuery library is already being utilized. jQuery is used in almost every Wordpress installation, so if you're basing your user template off of a Wordpress design, uncheck this!

Include Dada Mail's JavaScript User-Facing Enhancements

Dada Mail's other collection of Javascript libraries rely on these first two. If you experience problems with Dada Mail's functionality, you may want to disable them as well. Dada Mail's user-facing features should all gracefully degrade, if the Javascript they rely on isn't available.

Place Pro Dada's body content inside the:

Dada Mail will replace already existing content it finds, with Dada Mail's own content. But first, it needs to know where to find that content. Dada Mail supports finding the right place in three ways.

Test Your User Template

Use this button to check if Dada Mail will be able to retrieve your template. If you're setting your template Magically, a new window will also pop up giving you a preview of what your template will look like.

Config Variable: $TEMPLATE_OPTIONS.

Configure Global API Options

Dada Mail provides a RESTful API to many of the functions of the app. Public/Private keys are available for each mailing list, and Global Public/Private API keys can be configured through the installer. Global key pairs can do whatever the list key pairs can, as well as create new mailing lists.

For more information on Dada Mail's RESTful API, see the following docs:

https://dadamailproject.com/d/features-restful_web_services.pod.html

Enable Global API

Check this option to enable the Global API (disabled by default).

Public Key, Private Key

Below are listed your Global Public and Private Keys. These keys aren't editable within the installer, but you may reset them by clicking the button labeled, Reset Global API Keys.

Copy these keys down! They'll also be available when you log into a list using your Dada Mail Root Password and then going to, Mailing List: Web Services API under, Global Key Pairs.

Configure Security Options

Dada Mail usually shows a simple link to the administration login screen, on the bottom of the default screen. If you would rather this link not be so publically advertised, you my check this option to hide this link.

You may always get to the administration page by pointing your browser to an address like this:

http://mysite.com/cgi-bin/dada/mail.cgi/admin

This is a small security measure but may just stop people from snooping further.

Disable Outside Logins

This option controls whether login information posted to Dada Mail can only be allowed by a form supplied by Dada Mail itself. This means, you can't create a different form, outside the program to provide a way to login (or do something similar programmatically)

More so than any other option, this variable attempts to stop attempts of logging into a list by automated means.

By default, this option is enabled.

Disable List Password Reset

Dada Mail has support to reset the List Password via a confirmation email. This functionality can be disabled by unchecking this option.

Admin Flavor Name

Complementary to Hide Administration Link, Admin Flavor Name allows you to set the URL needed to access the screen that has the form to log into all the mailing lists administrated by Dada Mail and to the form to create a new mailing list.

By default, this is set to, admin, which means to access this screen, you'd go to a URL that looks like this:

http://example.com/cgi-bin/dada/mail.cgi/admin

If you set the Admin Flavor Name to something like, kookoo, you'd then access this screen via the following URL;

http://example.com/cgi-bin/dada/mail.cgi/kookoo

When setting this option remember:

Valid values:

Invalid values:

Don't set this variable to anything that Dada Mail already uses, like:

etc. A good way to make sure would be to append, "admin" to your value, like this:

No checks will be made to make sure you don't have this value set to something already present, so do be careful setting this variable.

Global Variable: $ADMIN_FLAVOR_NAME

Sign In Flavor Name

Similar to Admin Flavor Name, Sign In Flavor Name holds the URL that allows you to log into a particular list (usually), although it is sometimes used to re-login into any of your lists - very similar to the administration screen, but does not give you the form to create a new list.

The same naming rules apply for this variable as they do for Admin Flavor Name,. It's also suggested that you append, "sign_in" to the value you set this, like so:

etc.

Global Variable: $SIGN_IN_FLAVOR_NAME

Session Options

Check for Matching IP Addresses

Check this option (default) if making sure the IP address saved in the session matches the IP address of the user in the session itself. If the user's IP address changes, the session will be invalidated.

Rate Limiting

When enabled, rate limiting keeps track of the requests of certain features in Dada Mail - features like trying to log into the list control panel, or subscribing to a mailing list. Dada Mail keeps track of these requests by IP Address and can be configured to have a maximum amount of requests per timeframe. If more than the maximum amount of requests are made within the timeframe, the rate limit is said to be exceeded, and further requests will be denied.

This feature is especially important in any feature that involves filling out a form, then having that feature send out an email, like a subscription confirmation. Potentially nefarious bots may be filling out your subscription form quite blindly, with various bogus email addresses, causing all this unneeded email to be sent, then bounced back. If you're using a third party email sending service, like Amazon SES, this out of control behaviour could potentially lead to problems with you not following their Terms of Service.

Although rate limiting in Dada Mail was first implemeted for the above scenario, it's used in many other places:

Enable Rate Limiting

Check this option to enable Rate Limiting. Enabled by default

Timeframe (in minutes):

Timeframe is the amount of time a number of requests for a certain feature/function can be made

Max Hits

Max Hits are the amount of requests for a certain feature/function that may be done in the Timeframe set above.

If more requests than the Max Hits happens within the Timeframe, the feature/function will be inaccessible, until the number of requests is below the Max Hits threshold. Any other feature mentioned will still be available to the user, and any other users of the app will not be affected (unless of course they're being tied to that same IP Address)

Config Variable: $RATE_LIMITING.

File/Directory Permissions

You can set what both the file and directory permissions are when Dada Mail creates either.

Great care must be made to make sure the permissions you set will work with your server environment.

Cross-Site Request Forgery (CSRF) Protection

"Cross-Site Request Forgery (CSRF) is an attack that forces an end user to execute unwanted actions on a web application in which they're currently authenticated. With a little help of social engineering (such as sending a link via email or chat), an attacker may trick the users of a web application into executing actions of the attacker's choosing. If the victim is a normal user, a successful CSRF attack can force the user to perform state changing requests like transferring funds, changing their email address, and so forth. If the victim is an administrative account, CSRF can compromise the entire web application." - https://owasp.org/www-community/attacks/csrf

Dada Mail allows you to enable (default) or disable CSRF Protection.

Configure Google Maps

Google Maps is used indirectly by the Tracker plugin, when it shows it's World and country maps. As of June 1st, 2019, showing these maps requires a Google Maps API Key, which is available through Google:

https://developers.google.com/maps/documentation/javascript/get-api-key

If this key is not available, the Tracker plugin will not show these maps. Rather, a table will be presented with similar information, broken down by location.

Related to showing information via map charts, Dada Mail, by default anonymized IP addresses when logging information like opens and clickthroughs. See, Configure Handling Personally Identifiable Information (PII) in this same doc.

Configure CAPTCHA Options

Dada Mail uses CAPTCHA challenge-response tests optionally for many things: for the initial signup form, as an additional step to confirm a subscription, the Forward a Friend form, and other places. Dada Mail supports Google's reCAPTCHA v2 and v3.

More Information: https://dadamailproject.com/d/features-CAPTCHA.pod.html

In this section, we can configure the CAPTCHA options in Dada Mail.

reCAPTCHA v2

Select this radio button if you would like to use reCAPTCHA v2

reCAPTCHA Site key:

Plug in your reCAPTCHA v2 Site key here.

reCAPTCHA Secret key:

Plug in your reCAPTCHA v2 Secret key here.

Test CAPTCHA Configuration

Once you've made your selection of what type of CAPTCHA system to use, and inputed any necessary information, you may use the, Test CAPTCHA Configuration button to make sure the CAPTCHA system is working. Results should be shown below the button, as well as an example of the CAPTCHA widget. If the widget does not show, double-check that the information you've added is correct.

reCAPTCHA v3

Select this radio button if you would like to use reCAPTCHA v3

reCAPTCHA Site key:

Plug in your reCAPTCHA v3 Site key here.

reCAPTCHA Secret key:

Plug in your reCAPTCHA v3 Secret key here.

Score Threshold

reCAPTCHA v3 returns a score (1.0 is very likely a good interaction, 0.0 is very likely a bot). Depending on how strict you'd like the reCAPTCHA check to be, you may customize the score threshold, here. The default is, .5.

Configure Global Mailing List Options

Enable Global Unsubscribe

When enabled, Global Unsubscribe will remove a member from all mailing lists, when they're removed from one mailing list.

Enable Global Black List

When enabled, members of all mailing list's Black Lists will be pooled together, when addresses are verified for subscription.

Configure Global Mass Mailing Options

Some mass mailing options are set globally, as sending limitations may be account-wide, rather than mailing list-wide. Mailing List-specific Mass Mailing Options are found in the List Control Panel, under: Mail Sending - Mass Mailing Options

Mass Mailings at Once Limit

This sets how many different mass mailings may go out from an installation of Dada Mail at one time. Conservatively, this is set to, 1 by default.

There are a few reasons why you wouldn't want to set this to any higher limit, one being that there's a possibility that there is a limit on how many email messages you are allowed to go out in a specific period of time.

Another reason is that sending out too many messages at once may cause the server your running to be overloaded.

But, if you've got the bandwidth, and the horsepower, feel free to raise this limit.

Global Variable: $MAILOUT_AT_ONCE_LIMIT

Mass Mailings Stale After

Mass Mailings Stale After sets how long a mailout can go with no mailing activity until Dada Mail itself won't automatically reload it, from the point it stopped.

This option attempts to safegaurd you against having a dropped mailing that you've, "forgotten" about reloading, "mysteriously" and unintentionally.

A mailout may still be reloaded if this limit has been surpassed, but it must be done manually, through the list control panel.

Global Variable: $MAILOUT_STALE_AFTER

Configure Confirmation Token Options

Confirmation Tokens are the random letters and numbers you'll see at the end of confirmation URLs in subscription and unsubcription links (among other things).

The token corresponds to information in your database, information we don't necessarily want embedded in the URL itself.

Dada Mail keeps this information around for awhile, so that these confirmation links work.But, this information can take up space in your database, so there is an expiration date associated with them. By default, Dada Mail keeps the information around for 60 days, before removing them.

If you're running a public mailing list, we do not suggest setting this to be under 30 days, as the unsubscribe link that depends on these confirmation tokens is required by the CAN SPAM law to be operable for 30 days.

Configure Program Name

The Program Name, set to either Dada Mail or, Pro Dada by default may be changed here. This name change will be reflected throughout the entire application, but the image used by default in the upper left hand corner will also need to be changed. We do suggest that you simply make your own template, rather than swapping this one image out.

Configure Secure Program URL

The Secure Program URL holds the URL you'd like to use for Dada Mail's List Control Panel. For example, if you can map your Program URL to either an, http:// URL, or a, https:// address, you can set regular access to,

    http://example.com/cgi-bin/dada/mail.cgi

and access to the List Control Panel on a secure connection:

    https://example.com/cgi-bin/dada/mail.cgi

Configure Amazon SES

You may set up Dada Mail to send via Amazon's Simple Email Service. This is a third party email sending service, which may have a much higher daily email quota and sending rate than what may be allowed on your own hosting account. Amazon SES does charge a fairly low rate for their service (about $0.10 per thousand messages sent). For more information, see the Amazon SES own site (http://aws.amazon.com/ses/) and Dada Mail's docs on Amazon SES (https://dadamailproject.com/d/features-amazon_ses_support.pod.html)

Amazon SES does have a long list of required Perl CPAN modules that need to be installed, before SES sending will work. If any modules are not installed, the installer will list which CPAN modules are still needed.

To configure Dada Mail to use SES sending, first check the checkbox labeled, Configure Amazon SES Then, you will need to give the installer your AWS Access Key ID and a AWS Secret Access Key. To test your information, click the, Test Your AWS Credentials button.

Configure Mailgun (EXPERIMENTAL)

https://mailgun.com

Once you've set up a Mailgun account and within your account, have set up a domain, enter the region, api key, and domain in this section.

Once this is configured, select, Mailgun (Experiemental) in the list control panel under, Sending: Options.


Dada Mail Project

Download

Installation

Support