Advanced Installation Configuration w/Dada Mail Installer
- Advanced Configuration with the Dada Mail Installer
- Introduction
- Plugins/Extensions
- WYSIWYG Editors
- Configure Handling Personally Identifiable Information (PII)
- Configure Scheduled Jobs
- Configure Deployment Options (EXPERIMENTA)
- Configure Perl Environment
- Configure Profiles
- Configure Caching
- Configure WWW Engine
- Configure Email Parsing Engine
- Configure Debugging
- Configure Global Template Options
- Configure Global API Options
- Configure Security Options
- Configure Google Maps
- 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
- Configure Mailgun (EXPERIMENTAL)
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 Email Address
Mail Server
Username
Password
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:
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.
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.
body tag
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.
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
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:
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:
no spaces in the name
Valid values:
poopoo1234
agabaga
JKdsfkKJjjkkjjk
Invalid values:
fads fdas asdf
You Get The Point
Don't set this variable to anything that Dada Mail already uses, like:
subscribe
unsubscribe
login
logout
list
archive
etc. A good way to make sure would be to append, "admin" to your value, like this:
adminfoofoo
adminlalalala
adminwhakawhaka
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:
sign_in_fdskjasdf
sign_in_sneaky_pete
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:
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
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)
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.