====== OpenEMM Installation & Configuration Wiki ====== Latest version of **OpenEMM 24.10**: 24.10.000.**098**\\ Latest version of **OpenEMM 24.04**: 24.04.000.**098**\\ 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 November 20, 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 license** [[https://www.gnu.org/licenses/agpl-3.0.en.html#license-text|APGLv3]].\\ 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 (English):** **Redesign of OpenEMM (German):** **New Features of OpenEMM 24.04, Installation and Upgrades (English):** **Upgrade Opportunities (OpenEMM Plus, English):** **Features of OpenEMM and new Features of OpenEMM 23.10 (German):** **Installation and Updates (German):** **Commercial Support Services and OpenEMM Plus (German):** 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. * **Factsheet OpenEMM 24.10 (EN): {{ :openemm_24.10_factsheet_en.pdf |Factsheet for OpenEMM 24.10}}** * **Factsheet OpenEMM 24.10 (DE): {{ :openemm_24.10_factsheet_de.pdf |Factsheet für OpenEMM 24.10}}** * **Factsheet OpenEMM 24.04 (EN): {{ :agnitas-openemm-neuerungen-version-24.04-en.pdf |Factsheet for OpenEMM 24.04}}** * **Factsheet OpenEMM 24.04 (DE): {{ :agnitas-openemm-neuerungen-version-24.04-de.pdf |Factsheet für OpenEMM 24.04}}** * Javascript Widget to generate Subscribe Forms (EN + DE): {{ :emm-subscribe-toolbox.zip |Javascript Widget Toolbox}} The guide to installation and administration of OpenEMM can be found here: * OpenEMM 24.10: {{ ::openemm_24.10_install_admin_guide_1.0.2.pdf|OpenEMM 24.10 Installation & Administration Guide 1.0.2}} * OpenEMM 24.04: {{ ::openemm_24.04_install_admin_guide_1.0.1.pdf|OpenEMM 24.04 Installation & Administration Guide 1.0.1}} * OpenEMM 23.10: {{ ::openemm_23.10_install_admin_guide_1.0.5.pdf|OpenEMM 23.10 Installation & Administration Guide 1.0.5}} * OpenEMM 23.04: {{ ::openemm_23.04_install_admin_guide_1.0.2.pdf|OpenEMM 23.04 Installation & Administration Guide 1.0.2}} * OpenEMM 22.10: {{ ::openemm_22.10_install_admin_guide_1.0.1.pdf|OpenEMM 22.10 Installation & Administration Guide 1.0.1}} * OpenEMM 22.04: {{ ::openemm_22.04_install_admin_guide_1.0.0.pdf|OpenEMM 22.04 Installation & Administration Guide 1.0.0}} * OpenEMM 21.10: {{ ::openemm_21.10_install_admin_guide_1.0.6.pdf|OpenEMM 21.10 Installation & Administration Guide 1.0.6}} We also offer an [[virtualbox|OVA version]] for OpenEMM 24.04: https://share.agnitas.de/index.php/s/qbC9Kx4G785t55n/download (see section [[virtualbox|OpenEMM on VirtualBox]] for details) We kindly ask you to contribute feedback for OpenEMM! Please leave any bug findingy, questions and comments in the **OpenEMM Support Forum** at https://forum.openemm.org . This helps us to improve the code, installation, configuration, administration and documentation of OpenEMM.\\ \\ If you want to stay on top of things, please subscribe to the OpenEMM newsletter at the end of page\\ https://www.agnitas.de/en/e-marketing_manager/email-marketing-software-variants/openemm/ (English)\\ or\\ https://www.agnitas.de/e-marketing-manager/email-marketing-software/openemm/ (German)\\ and follow our X account at https://x.com/openemm .\\ \\ If you are interested in more **OpenEMM Support & Service Offers**, please visit website\\ https://www.agnitas.de/en/e-marketing_manager/email-marketing-software-variants/openemm/openemm-support-services/ \\ ==== More resources: ==== Here is a video with first steps: * https://youtu.be/WBnkq1pzprY (English) * https://youtu.be/9iw81WGoXWE (German) If you want to install the context-sensitive online help feature of OpenEMM (including the user manual with about 500 pages), visit * https://www.agnitas.de/en/download/openemm-manual/ (English) * https://www.agnitas.de/download/openemm-handbuch/ (German) 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 with a state-of-the-art user interface. For even more automation of your email communication and integration with other IT systems, you may use the REST or SOAP API of OpenEMM to operate it in headless mode.\\ Any way you want to use it, 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 [[https://github.com/agnitas-org/openemm|GitHub]]. It uses the popular open source license [[https://www.gnu.org/licenses/agpl-3.0.en.html|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 [[virtualbox|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: * Quickguide Honeypot (EN): {{ :emm-quickguide_honeypot_1.1.pdf | Quickguide}} * Kurzanleitung Honeypot (DE): {{ :emm-kurzanleitung_honeypot_1.1.pdf | Kurzanleitung}} ---- ===== 4. Updates ===== The top of this Wiki lists the latest available versions of OpenEMM code 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 ==== * no open issues ==== 6.2 Fixed Issues ==== * E-9616: sender addresses can not be saved in mailing lists (fixed in 24.04.000.073) * G-5932: Image button in WYSIWYG editor does not work (fixes in 24.04.000.086) * O-0672: Excel format in import profile not selectable (fixed in 24.04.000.073) ---- ===== 7. Building OpenEMM yourself ===== Download the source code of OpenEMM from GitHub at https://github.com/agnitas-org/openemm to a directory of your choice. ==== Backend ==== $ git clone https://github.com/agnitas-org/openemm $ cd openemm/backend $ chmod 755 build-backend.py $ ./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 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-8517: RESTful method ListMailings provides filter options * E-8474: option to send out a date based mailing more than once a day * E-8260: keep deleted mailing links working for mails already sent out * E-8225: option to display the plan date of a mailing in the mailing overview * E-7112: extend mailing related SOAP webservices with option to set planned date * E-6484: new option to pause and resume a workflow in case of changes needed for the involved mailings * G-5664: send test mails based on the selected preview to the current EMM user * G-5650: new selection to send a test mail to the email address of the current EMM user * G-5593: changes to fix values for profile fields are logged to UAL * G-5591: option to list deleted links in link tab of mailing * G-5585: automatic cancellation of imports blocked due to missing EMM user input to avoid blocking of further imports * G-5519: more thorough validation of worklow design at activation time * G-5471: visually improved rendering of thumbnails and PDF reports * O-0640: OpenEMM can import templates and mailings created with commercial EMM * P-1690: option to use JSON Web Token for Authentification to access RESTful API * P-1596: OMT checks integrity of downloaded EMM tarballs via checksums * S-2463: pre-headers supports agnDYN tag as placeholder ---- ===== 11. New features of OpenEMM 23.04 (major changes) ===== * E-9768: SOAP webservice method “ListSubscriber” supports EQL code as filter argument * E-9745: new RESTful methods to manage EMM forms * 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 ===== Imprint ===== OpenEMM Wiki is a service of AGNITAS AG: https://www.agnitas.de/en/imprint/