Usage & Enterprise Capabilities
Key Benefits
- Enterprise Automation: Build multi-stage, branching email campaigns triggered by user behavior (clickstreams) or temporal data (birthdays, subscription renewals).
- Target Audience Management: Build complex dynamic segments based on deep subscriber profile data stored in the OpenEMM database.
- Dynamic Content Formatting: Alter the layout and copy of individual emails on-the-fly based on the recipient's demographic profile using the built-in scripting engine.
- Deep Integration: OpenEMM assumes it is part of a larger ecosystem; it offers robust APIs to sync contact logic with external platforms like Salesforce or SAP.
Production Architecture Overview
- Java Runtime Environment (JRE): The foundation for the Tomcat Application Server.
- Apache Tomcat: Hosts the OpenEMM administrative Web GUI and the backend REST/SOAP API services.
- Relational Database (MySQL/MariaDB): Stores subscriber databases, operational metadata, and analytics.
- Python: Required for executing OpenEMM’s myriad internal backend automation scripts (e.g., parsing bounces, generating statistics).
- Postfix / Sendmail (MTA): An active dependency. OpenEMM does not natively speak SMTP to external relays like SendGrid; rather, it injects mail directly into a local Postfix/Sendmail queue, which then routes or relays the mail reliably to the internet.
Implementation Blueprint
Implementation Blueprint
Prerequisites & Dependencies
sudo apt update && sudo apt upgrade -y
# Install Core Dependencies
sudo apt install mariadb-server python3 postfix postfix-pcre wget tar unzip net-tools -y
sudo apt install default-jre -ysudo apt-get install tomcat9 tomcat9-admin -yDatabase Installation
sudo mysql -u root
CREATE DATABASE openemm DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'openemm'@'localhost' IDENTIFIED BY 'highly_secure_db_password';
GRANT ALL PRIVILEGES ON openemm.* TO 'openemm'@'localhost';
FLUSH PRIVILEGES;
EXIT;Configuring the Local MTA (Postfix)
em.mycompany.com)./etc/postfix/main.cf to optimize for OpenEMM's spool directories and set up an external SMTP relay if you aren't sending direct-to-MX.# Add to /etc/postfix/main.cf
myhostname = em.mycompany.com
mydomain = mycompany.com
# If using an external relay like Amazon SES to ensure deliverability
relayhost = [email-smtp.us-east-1.amazonaws.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yesecho "[email-smtp.us-east-1.amazonaws.com]:587 ses_user:ses_password" | sudo tee /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
sudo systemctl restart postfixApplication Installation
# Create the OpenEMM system user
sudo adduser --disabled-password --gecos "" openemm
# Download and run the setup
su - openemm
wget -O OIA.tar.gz "https://github.com/agnitas-org/openemm/releases/latest/download/OIA.tar.gz"
tar -xzf OIA.tar.gz
cd OIA
python3 oia.pyStarting the System
# As the openemm user
/home/openemm/bin/openemm.sh startSecuring Access
8080. For production, place Nginx in front as a reverse proxy.server {
listen 80;
server_name em.mycompany.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}Advanced Usage: Event-Triggered Automation
- Navigate to campaigns in the GUI.
- Define a Target Audience based on a query: e.g., "Users who clicked Link ID 42 in Campaign A".
- Define an Action: Create a new automated mailing step.
- Set the Time-delayed Trigger: Schedule the mailing to send specifically 48 hours after the behavior was recorded.
- Activate the mailing. The backend Python scripts will continuously evaluate the database condition and dispatch mail individually as users meet the precise criteria.
Recommended Hosting for OpenEMM
For systems like OpenEMM, we recommend high-performance VPS hosting. Hostinger offers dedicated setups for open-source tools with one-click installer scripts and 24/7 priority support.
Get Started on HostingerExplore Alternative Marketing Infrastructure
WordPress
WordPress is a powerful open-source content management system (CMS) for building websites and blogs. It is production-ready, scalable, and highly extensible with plugins and themes.
Chatwoot
Chatwoot is an open-source customer engagement suite, a self-hosted alternative to Intercom and Zendesk. It provides a unified view of customer conversations across live chat, email, WhatsApp, and social media.