Latest version of OpenEMM 24.10 BETA: 24.10.000.043
Latest version of OpenEMM 24.04: 24.04.000.096
Latest version of OpenEMM 23.10: 23.10.000.236
Latest version of OpenEMM 23.04: 23.04.000.231
Latest version of OpenEMM 22.10: 22.10.000.230
Latest version of OpenEMM 22.04: 22.04.000.238
Latest version of OpenEMM 21.10: 21.10.000.108
(as of October 3, 2024)
OpenEMM is a web based enterprise application for email and marketing automation. It is used for automated email communication with customers, leads, members and employees. It can be operated via a browser interface with great usability, or in headless mode via its SOAP or REST API. OpenEMM is published under open source licenseAPGLv3.
And should you outgrow OpenEMM in the future, you may seamlessly upgrade to OpenEMM Plus (https://www.agnitas.de/en/e-marketing_manager/email-marketing-software-variants/openemm/#openemm-plus).
Videos of OpenEMM:
Brief introduction of OpenEMM:
New Features of OpenEMM 24.04, Installation and Upgrades:
Upgrade Opportunities (OpenEMM Plus):
Features of OpenEMM and new Features of OpenEMM 23.10 (German language):
Installation and Updates (German language):
Commercial Support Services and OpenEMM Plus (German language):
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, configure, update and maintain 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.
We kindly ask you to contribute feedback for OpenEMM! Please leave any bug findingy, questions and comments in the OpenEMM forum at https://forum.openemm.org . This helps us to improve the code, installation, configuration, administration and documentation of OpenEMM.
to get the download link for the manual package (which contains both, the English and the German version of the documentation). You can also use 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. And there is no need to use a (paid) email relay service!
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. Basic Requirements
RedHat 7 to 9; AlmaLinux 8 or 9; SLES 15
with VirtualBox: Windows, macOS or any other Linux → see section OpenEMM on VirtualBox for details
Java Open JDK 11 or 17
Apache Tomcat 10.1 (including NIO Connector for HTTPS support)
Python 3.8 or later
DBMS: MariaDB 10.5 or 10.6
MTA: Postfix 2.6 or later
3. Mailing Templates and Forms
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”.
If your forms are attacked by click bots, you should implement a honeypot form field to fight off those click bots. Here is an explanation how this could be done:
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 in 24.04
6.1 Open Issues
G-5932: Image button in WYSIWYG editor does not work
6.2 Fixed Issues
E-9616: sender addresses can not be saved in mailing lists (fixed in 24.04.000.073)
O-0672: Excel format in import profile not selectable (fixed in 24.04.000.073)
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 openemm/frontend
$ ant -f build.xml
8. New Features of OpenEMM 24.10 (major changes)
E-10520: if an icon is positioned between two other icons in campaign manager workflows, the connections are re-routed automatically (redesign only)
E-10471: even more sanity checks for the format of CSV import files
E-10461: lists can have a length of 200 entries
E-10417: show column with imported data types in import log table (redesign only)
E-10387: When configuring an mailing dispatch suggest an existing plan date as send date
E-10290: check that a campaign contains a delay step before any decision step
E-10256: For profile fields that allow only certain values menu “Edit field content” shows a dropdown listing only those values for selection
E-10218: statistic to analyse content of each recipient profile field
E-10086: added time based filter for form statistics (redesign only)
E-9850: management of email addresses of EMM users used for various notifications and reports (redesign only)
E-9689: improved feedback about password security
E-9554: possibility to set visibility of recipient profile fields to “hidden” or “read-only” (redesign only)
E-9246: filter options for list of datasource IDs (redesign only)
E-8757: Date selection for user activity log shows allows only dates for periods for which data exist (redesign only)
E-8559: improved usability for creating and changing forms of salutations (redesign only)
E-8400: in recipient profile helpballoon shows existing descriptions for every profile field (redesign only)
E-7942: new action “SendLastNewsletter” to automatically send the latest available mailing of a mailing list to any new subscriber to this mailing list
E-7533: predefined A/B campaign in campaign manager offers selection to use more than 2 test alternatives
E-7283: usability improvements for settings of import profiles (redesign only)
E-5524: campaign manager offers a broader selection of pre-defined campaigns for re-use (redesign only)
E-4540: recycle bin for lots of EMM objects like templates, forms, triggers or target groups, so that these objects can be recovered for some time (redesign only)
E-0911: new and enhanced calender to plan and schedule mail dispatches (redesign only)
E-0714: complete redesign of GUI for improved usability and functionality (optional)
G-5955: log modifications of trigger steps in the user activity log
G-5840: import of a classic template overwrites an existing template with the same name
L-1220: When the email address of an EMM account owner is changed, a notification is sent to the old address
S-2565: SOAP method “SendMailing” offers option to activate duplicate check for a mailing dispatch
9. New Features of OpenEMM 24.04 (major changes)
E-10353: New method for SOAP API to pause and resume a campaign
E-10301: If JWT expires, a new JWT has to be generated using user/password credentials (REST API)
E-10272: option to extract recipient specific information from mail replies, put this info in X-Headers and forward the replies with these X-Headers to a configurable email adress
E-10240: domain statistics can now compare data of up to 50 domains
E-10187: option to delete openings and clicks of all admin and test recipients when activating mailing dispatch
E-10136: extension of report according to EU GDPR §15 (“Right of access by the data subject”)
E-10104: improvement of bounce reporting for mailings older than 90 days
E-9886: option to override the global defined sending speed with a (lower) sending speed for a certain mailing
E-9747: new RESTful method to list all templates of a tenant
E-9689: improved usability of feedback regarding password security
E-9616: sender addresses can be predefined for mailing lists (24.04.000.073)
E-9445: Javascipt widget to generate subscribe form
E-9246: when clicking on an entry in the list of datasource IDs redirect the EMM user to the recipients who are related to this datasource ID
E-9163: when a mailing is cancelled, copied and sent again, the original statistic data are no longer deleted but added to the copied mailing
E-9043: improved online archive functionality
E-8866: new tag agnWEBVIEW to insert a link in a mailing that calls its webview in a web browser
E-8555: prevent changes of already generated or sent mails bei SOAP webservices
E-8517: REST method ListMailings extended with optional filters
E-8142: show size of free server disk space on system status page
E-8132: hard bounces detected on a certain mailing list will be applied globally to all mailing lists to prevent triggering of spam traps
E-7480: new statistic showing all existing remarks for changes of recipient status (like opt-ins and opt-outs) and how often they happened
E-7164: extended import protocol with number of unsubscribed and blocklisted recpients
E-7108: new tag agnAGE for mailing content (calculating the age based on a date)
E-6986: export optionally delivers data that is represented by numbers in EMM (like gender, mailtype or user status) as descriptive text
E-4539: import supports Excel format for import of recipient profile field content (24.04.000.073)
G-5872: an email notification is sent to the old address, when the email address of the EMM user is changed (24.04.000.073)
G-5746: optional email notification service for passwords that are about to expire
G-4078: various configurable statistic reports (PDF and CSV) which can be sent by email at pre-defined times
L-1140: automatic cancellation of blocked imports due to missing user input
L-1273: automatically update start date in the past to “now” when activating a workflow
S-2482: import and export support file formats tar, gz and tar.gz
10. New Features of OpenEMM 23.10 (major changes)
E-10132: option to permit/prevent import of HTML code in profile fields
E-10083: new recycle bin so that deleted mailings can be recovered
E-10056: pre-header supports use of tag agnDYN
E-10037: cleanup of mail loop processing by no longer used domains
E-10003: new RESTful method to retrieve system information of EMM instance
E-9906: improved detection of mailing links in proprietary HTML code used for Microsoft Outlook
E-9882: improved usability of auto-optimization in workflow manager
E-9722: improvement of import speed
E-9482: images tab of web forms accepts upload of ico files now
E-9215: new option to export the original HTML code of an email in the preview tab
E-8906: pre-fill new workflows automatically with a start and a recipient icon
E-8792: sending options for regular mailings now available for date-based mailings too
E-8781: new option to define a pre-header in settings of a mailing
E-8700: option to make links trackable that are provided out of a profile field
E-9571: extend dashboard with capability to copy mailings
E-9392: new filter options for list of mailings
E-9381: improved functionality and usability of import/export logs list in data management menu
E-9125: show trigger IDs in list of triggers
E-8908: new start and stop icon for workflow manager
E-8907: rearrangement of workflow manager layout to increase the canvas horizontally
E-8904: significantly extended statistics for workflows
E-8902: option to show grid in canvas of workflow manager
E-8381: separate tabs in user activity log for activities of SOAP API and RESTful API
E-8225: show scheduled send dates in list of mailings
E-7376: Visually improved statistics for mailing comparision
E-7367: more detailed error message why a certain target group can not be deleted
E-7332: more detailed error message if a new recipient profile field could not be created
G-5250: redesign of various bulky multi-selection lists to light label lists
G-5212: it is now possible to replace the AGNITAS logos in EMM with customized logos (via OMT)
L-1006: changing once password in the selfservice section explicitly requires the user to enter his/her old password first
12. New features of OpenEMM 22.10 (major changes)
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
13. 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)
14. 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