This guide covers essential configuration for self-hosted Dada Mail installations.
Dada Mail supports MySQL, PostgreSQL, and SQLite. Configure in dada/CONFIG.pm:
# MySQL Configuration
$db_type = 'mysql';
$db_name = 'dadamail';
$db_user = 'dadamail';
$db_password = 'your-secure-password';
$db_host = 'localhost';
$db_port = '3306';
# PostgreSQL Configuration
# $db_type = 'Pg';
# $db_name = 'dadamail';
# $db_user = 'dadamail';
# $db_password = 'your-secure-password';
# $db_host = 'localhost';
# $db_port = '5432';
# SQLite Configuration
# $db_type = 'SQLite';
# $db_name = '/path/to/dadamail.db';
Configure in dada/CONFIG.pm:
# Site URL
$site_url = 'https://dadamail.example.com';
# CGI path
$cgibin_url = 'https://dadamail.example.com/dada';
# Template directory
$templates_dir = '/var/www/dadamail/templates';
# Session directory
$sessions_dir = '/var/www/dadamail/sessions';
# Debug mode (disable in production)
$debug = 0;
Configure SMTP in dada/CONFIG.pm:
# SMTP Configuration
$smtp_server = 'smtp.yourprovider.com';
$smtp_port = '587';
$smtp_username = 'your-smtp-user';
$smtp_password = 'your-smtp-password';
$smtp_auth = 'LOGIN'; # or PLAIN, CRAM-MD5
$smtp_tls = 1; # Enable TLS
# Alternative: Sendmail
# $sendmail_path = '/usr/sbin/sendmail';
Recommended SMTP Providers:
Configure list settings via web interface (List Control Panel > List Settings):
Dada Mail supports different list types:
Configure in List Control Panel > List Type
Customize email templates in List Control Panel > Templates:
Use placeholder variables:
[*|LIST_NAME|*] - List name[*|SUBSCRIBER_EMAIL|*] - Subscriber email[*|UNSUBSCRIBE_URL|*] - Unsubscribe linkConfigure in List Control Panel > Privacy Options:
Configure rate limiting in dada/CONFIG.pm:
# Messages per second
$throttle = 10;
# Pause between batches
$batch_sleep = 1;
# Messages per batch
$batch_size = 100;
CONFIG.pmsessions/ and templates/ directorieschown -R www-data:www-data /var/www/dadamailCONFIG.pm