OpenEMM Installation & Configuration Wiki
Latest version of OpenEMM 21.10: 21.10.000.108
Latest version of OpenEMM 22.04: 22.04.000.238
Latest version of OpenEMM 22.10 BETA: 22.10.000.208
Utility Package for OpenEMM Deployment & Runtime: 21.10.044 (OpenEMM 21.10) or 22.04.008 (OpenEMM 22.04) or 22.10.016 (OpenEMM 22.10 BETA)
(as of April 4, 2023)
OpenEMM is a web based enterprise application for email and marketing automation. OpenEMM is used for automated email communication with customers, leads, members and employees.
This video briefly introduces OpenEMM: https://youtu.be/3zl6dpyO5jY
You can download the source code of OpenEMM at GitHub: https://github.com/agnitas-org/openemm
If you do not want to compile and deploy the source code of OpenEMM manually, we recommend to download the package for OpenEMM deployment & runtime at https://www.agnitas.de/en/download/openemm-binaries/ . This package contains the OpenEMM Maintenance Tool (OMT) which lets you download, install and manage OpenEMM.
Alternatively, you may download the source code of OpenEMM from GitHub and compile and deploy the software manually yourself. See the instructions at the end of this page.
The guide to installation and administration of OpenEMM can be found here:
If you use MariaDB as database and plan to upgrade to OpenEMM 21.10, read section 9.4 of the Install&Admin Guide first!
We also offer an OVA version for OpenEMM 22.04: https://share.agnitas.de/index.php/s/RMCXMD8QqjKm6iJ/download
We kindly ask you to contribute feedback for OpenEMM! Please leave your questions and comments in the OpenEMM forum at https://forum.openemm.org . This helps us to improve the documentation, installation, configuration and administration of OpenEMM.
More resources:
Here is a video with first steps:
If you want to install the context-sensitive online help feature of OpenEMM (including the user manual with about 500 pages), visit
to get the download link for the manual package. You can use this link in OMT’s menu “Install or update package from AGNITAS Cloud” to install the documentation.
1. Introduction
OpenEMM is a professional open source software for email marketing and automation. If you want to automate your email communication, OpenEMM is the right choice for you. The software is not artificially limited in any way, because we will not try to push you to use a commercial cloud OpenEMM service instead. You are free to operate OpenEMM on whatever hardware you like, depending on the performance you need.
The first version of OpenEMM was published in 2006. The source code of the frontend and the backend of OpenEMM 19.04 and later is available at GitHub. It uses the popular open source license AGLPv3. At the end of this page you can find instructions on how to build OpenEMM by yourself.
2. Requirements
RedHat 7 or 8; CentOS 7 or 8; SLES 15
Java Open JDK 11
Apache Tomcat 10
Python 3.8 or later
DBMS: MariaDB 10.3 or later; MySQL 5.7
MTA: Postfix 2.6 or later; Sendmail 8.10 or later
wkhtmltox 0.12.2.1 or later
for HTTPS support: Apache Tomcat Native Library
You do not have to start from scratch when producing mailings and creating forms in OpenEMM. At https://www.agnitas.de/en/download-center/ you can download templates and forms which you can import into OpenEMM. Make sure to replace all placeholders for a company ID with value “1”.
4. Updates
The top of this Wiki lists the latest available versions of OpenEMM backend, frontend and the deployment & runtime package.
You can download the latest versions of packages with menu “Install or update package from AGNITAS Website” of OMT (OpenEMM Maintenance Tool). An update of the code will also update the schema of the OpenEMM database, if necessary.
If you do not use the latest version of OpenEMM, OMT offers you to upgrade to a new release. If you are not happy with the new release (or any other version of OpenEMM), you can roll back OpenEMM to an earlier (or later) version with menu “Switch OpenEMM version”.
Do not forget to restart OpenEMM with menu “Restart OpenEMM” after you have downloaded and installed an update package to activate it. But do the restart at an convenient time: Do not restart OpenEMM during a dispatch of a mailing, or right after the dispatch (due to the brief downtime of the redirect service causing missed openings and click redirects).
5. Administration
See the Installation & Administration Guides linked at the top of this document for extensive information on administration of OpenEMM.
6. Known Issues
6.1 Open Issues
6.2 Fixed Issues
7. New Features of OpenEMM 21.10 (major changes)
E-8643: introduction of new quota system for usage of RESTful
API
E-8525: improved usability for definition of default values in import profile
E-8420: list of datasource IDs sortable by description
E-8384: show warning if date-based mailings uses several target groups combined with OR instead of AND
E-8327: improve deletion of mailing lists (show helpful warnings, but permit deletion in more cases than before)
E-8319: new WS method to retrieve mailing info based on a range of send dates
E-8286: optional cleanup for recipients being inactive for 6, 12 or 24 months (data minimization/GDPR)
E-8270: new RESTful method to generate webview
URL for mailing
E-8269: new RESTful method to list mailings received by a certain recipient
E-8238: CToken as replacement for CI in web form URLs to hinder form spamming
E-8211: Warning at leaving a mailing, when target group has been changed but mailing is not saved
E-8207: improve definition of customized gender values in import profile
E-8146: introduction of new quota system for webservices usage
E-7885: option to bulk unsubscribe recipient from selected or all mailing lists
E-7262: If another user is editing mailing, show his/her name in warning message
E-6613: allow to mark target groups as favourites and show them first in lists
E-5899: consider also duplicate email addresses when setting a recipient to status “bounced”
S-2187: optional cleanup after 7, 14 or 30 days of profile fields and tracking data for recipients who have unsubscribed from all lists (data minimization/GDPR)
S-2116: new RESTful method to dispatch mailing
L-0669: also show used mailing list in info popup that is shown before dispatch of a mailing
8. New features of OpenEMM 22.04 (major changes)
E-8945: if the same web browser is used for more than one tenant, settings for
GUI formatting are saved separately for each tenant
E-8936: do not accept potentially dangerous UTF characters for code of action scripts
E-8923: renamed Blacklist and Whitelist to Blocklist and Allowlist
E-8796: Split RESTful users and
GUI users and offer separate tab for configuration of RESTful users
E-8762: links generated by agnFORM, agnPROFILE and agnUNSUBSCRIBE use CToken instead of CI
E-8744: Optionally define columns with fixed values to be included in CSV export file
E-8686: use date picker for all date fields without time
E-8644: new time delay values for action based mailings
E-8640: new option for action “send action-based mail” to include or to exclude subscribed recipients
E-8589: duplicate analysis now can work case sensitive or case insensitive
E-8588: RESTful
API normalizes email addresses to lower case by default
E-8551: show hint if speed of Internet connection is less than 750 kbps
E-8513: improved progress bar for import and export jobs
E-8430: added meaningful default values for mailing import
E-8245: honor tracking veto in realtime, i.e. even links of e-mails sent before tracking veto will not be tracked any longer
E-7686: new option to globally activate tracking veto for all recipients of tenant
G-4404: visual web form builder
S-2270: expand SOAP webservice method ListMailings with filter option
S-2223*: added various new methods to RESTful
API (update mailing, copy mailing, get mailing status, add/update/list target groups)
9. Roadmap for OpenEMM 22.10
E-9482: accept files of “ico” format for EMM web forms and mediapool
E-9447: offer an extended version of the
WYSIWYG editor which shows more option to manipulate content
E-9422: option to hide
WYSIWYG editor completely
E-9399: new RESTful
API method to provide statistic numbers for mailing, recipients and mailing lists
E-9210: show preview of mailing even when no test recipient exists
E-8384: option to set a treshold for a data-based mailing which blocks email dispatch if a certain number of recipients would be exceeded
E-8146: Quotas for SOAP Webservice
API and RESTful
API are active by default to reduce the impact of
API floodings
E-7150: decouple scrolling of preview on the right side from scrolling of the content blocks on the right side in the content tab of mailings
E-7093: introduce character counter for subject line and text blocks of mailing content
E-6250: show status icon of mailing in tab “Send Mailing”
E-5966:
WYSIWYG editor offers to insert emojis
E-2138: agnIMAGE tag can be used in EMM web forms too
E-873: improved check of file formats to avoid upload of malware for mailing attachments, mediapool, EMM upload menu, etc.
E-713: introduced confirmation question with additional information when activating or deactivating action based or date based mailings
L-896: show menu options that send out emails to EMM admins only, if the needed email addresses are set (like buttons for support or upload orders)
L-754: optional
WYSIWYG editor with limited functionality
O-475: new icon indicating hanging jobs in job list of system status menu
various minor usability improvements like easier navigation, re-arranged
GUI elements, better formatting and sorting, optimized default settings, more precise notifications, more helpful warning and error messages, new help balloons, additional logging of user activities, etc.
10. Building OpenEMM yourself
Backend
$ sudo su -
# cd backend
# ./build-backend.py
Frontend
Copy template files build.properties.default, build-birt.properties.default and build-ws.properties.default to files with names build.properties, build-birt.properties and build-ws.properties and adapt the paths listed in those three files to your needs.
$ cd frontend
$ ant -f build.xml