Advanced Installation Configuration w/Dada Mail Installer
- Advanced Configuration with the Dada Mail Installer
- WYSIWYG Editors
- Configure Scheduled Jobs
- Configure Deployment Options
- Configure Perl Environment
- Configure Profiles
- Configure Caching
- Configure Email Parsing Engine
- Configure Debugging
- Configure Global Template Options
- Set a Global, User-Facing Template
- Use A Custom User Template
- Server Absolute Path or URL to your User Template:
- Magically (Experimental)
- Stylesheet Options
- Place Pro Dada's body content inside the:
- Test Your User Template
- Configure Security Options
- Configure CAPTCHA Options
- Configure Global Mailing List Options
- Configure Global Mass Mailing Options
- Configure Confirmation Token Options
- Configure Program Name
- Configure Secure Program URL
- Configure Amazon SES
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:
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:
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.
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.
One plugin, Bounce Handler, also requires you to fill out the credentials for the Bounce Handler email account you need to set up to capture bounced emails. See the documentation on the Bounce Handler for more information:
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
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.
Select this option to use KCFinder (https://kcfinder.sunhater.com). KCFinder uses PHP Sessions for security, which Dada Mail will provide. If you're having problems utilizing KCFinder, try simply logging out, then back into your list. If you're still having problems, try the Core Five FileManager.
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 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:
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 (
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,
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.
Configure Deployment Options
Dada Mail can be deployed as a CGI, FastCGI, or PSGI/Plack app.
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,
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:
More on PSGI Support:
Command Line Installer:
$RUNNING_UNDER. Valid values:
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:
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.
Profiles allow your users to manage their own subscriptions in one centralized location. For an overview of Dada Mail Profiles, see:
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:
a little more fancy, with a full email header, with phrase:
"My First and Last Name!" <email@example.com>
You may set two email addresses:
"My First and Last Name!" <firstname.lastname@example.org>, "Another User" <email@example.com>',
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.
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.
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.
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:
Subscribing to a new mailing list
If Profiles are enabled, and a user does not already have a Profile, subscribing to a mailing list will create a new Profile for them, and the credentials will be sent to them, in the, "Subscription Successful!" email message.
The List Owner editing their Profile
Profiles can be edited in the, Manage Subscribers - View screen.
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.
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.
Controls whether the, Change Your Profile Password section is visible to your user in their Profile (once logged in).
Controls whether the, Delete This Profile section is visible to your user in their Profile (once logged in).
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.
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.
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:
More information on how we're optimizing the 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,
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.
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,
%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.
There are two methods Dada Mail can create a User Template.
The first is manually, where you basically replace the included user template file with your own. The default user template can be found at:
Some background on Dada Mail's templating language:
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.
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:
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.
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.
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!
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.
The first is the most basic: it'll just replace all the content found in the body of your HTML doc. This is most likely not what you want to do, but can be a way to easily have Dada Mail inherit some of the styles of your website.
tag with css id
The second way is the most specific, and it's what we recommend. Give Dada Mail the id of an HTML element, and Dada Mail will only replace the content within that element.
tag with css class
Similar to using an id, you can also use a class name of an HTML element for Dada Mail to replace content with. The problem of using a class is that id's are supposed to be unique in an HTML document; classes are not. But, some layouts are created without using id's at all. In these cases, you still have the option to use a class name.
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.
Configure Security Options
Hide Administration Link
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:
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.
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:
If you set the Admin Flavor Name to something like, kookoo, you'd then access this screen via the following URL;
When setting this option remember:
no spaces in the name
fads fdas asdf
You Get The Point
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.
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:
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.
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:
Running the Cronjob Schedule
Subscription by the classic subscription form
Subscription via the RESTful API
Subscription and Unsubscription Confirmation via the token URL (or any URL with a token in it)
Logging in and out
Encrypting a password
Requesting to download a file attachment
Profile activation/registering/resetting password/login and out
Accessing the list control panel login screen
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 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)
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 only supports Google's reCAPTCHA v2.
Dada Mail also supports Mailhide, which uses the reCAPTCHA system to easily protect email addresses shown in Dada Mail's public archives.
More Information: https://dadamailproject.com/d/features-CAPTCHA.pod.html
In this section, we can configure the CAPTCHA options in Dada Mail:
Add CAPTCHA on all subscription forms
Select this option (default) to add a CAPTCHA to all the subscription forms used by Dada Mail, including the subscrption form for all available mailings on Dada Mail's default screen.
reCAPTCHA Site key:
Plug in your reCAPTCHA Site key here.
reCAPTCHA Secret key:
Plug in your reCAPTCHA Secret key here.
Test CAPTCHA Configuration
Once you've made your selection of what type of CAPTCHA system to use, and inputted 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 Mailhide is also supported, and also needs a Public and Private API key, which can be created here: https://www.google.com/recaptcha/admin#mailhide - NOTE! That this API key pair is different from your reCAPTHCA public/private key - they're not interchangeable.
Test reCAPTCHA Mailhide Configuration
You may use the, Test reCAPTCHA Mailhide Configuration button to make sure the Mailhide system is working. Results should be shown below the button, as well as an example of a protected email address. If the example does not show, double-check that the information you've added is correct.
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.
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.
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,
and access to the List Control Panel on a secure connection:
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.