yireo / magento2-emailtester2
yireo/magento2-emailtester2
Preview transactional emails and test send them in your backend
Magento 2 module for EmailTester2
Homepage: https://www.yireo.com/software/magento-extensions/emailtester2
See also
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
Unreleased
[1.7.10] - 09 June 2026
Fixed
- Fix Symfony 7 compatibility to CLI commands
[1.7.9] - 24 April 2025
Fixed
- Fix for Symfony Mailer in Magento 2.4.8
[1.7.8] - 5 November 2024
Fixed
- Properly implement
yireo/magento2-admin-simple-search-fields
[1.7.7] - 5 November 2024
Fixed
- Add dep
yireo/magento2-admin-simple-search-fields
[1.7.6] - 24 October 2024
Fixed
- Re-release under GitHub
[1.7.5] - 24 October 2024
Fixed
- Add funding options
[1.7.4] - 11 July 2023
Fixed
- Fix access level issue after 1.7.3 #11 @Phennim
[1.7.3] - 11 July 2023
Fixed
- Fix PHP 8.2 deprecation warnings #10 @Phennim
[1.7.2] - 19 April 2023
Fixed
- Change composer name of React module
- Update XML structure to fix fields not being picked up
[1.7.1] - 25 March 2023
Fixed
- Swap dep of ExtensionChecker with core module info
[1.7.0] - 24 March 2023
Added
- Added dependency with new
Yireo_AdminReactComponentsmodule
[1.6.25] - 8 November 2022
Fixed
- Calculate if order is virtual by using products
[1.6.24] - 31 July 2022
Fixed
- Bump
[1.6.23] - 31 July 2022
Fixed
- Bump
[1.6.22] - 31 July 2022
Fixed
- Fix empty output in AlertGrid causing
preg_replaceerror in Magento core
[1.6.21] - 31 July 2022
Fixed
- Undefined flag with virtual orders (PR 2, @cloudsfactory)
[1.6.20] - 26 June 2022
Fixed
- Copy shipping address from billing address when empty
- Fix PHP 8.1 error with Magento AlertGrid (issue 35569)
[1.6.21] - 11 July 2022
Fixed
- Version bump
[1.6.20] - 28 June 2021
Fixed
- Version bump
[1.6.19] - 12 August 2021
Fixed
- Prevent duplicate AJAX call when searching in modal popup
[1.6.18] - 17 May 2021
Fixed
- Cleanup of DI code
- Use General Contact as a fallback
- Fix for "Send" not picking up on right variables anymore
[1.6.17] - 13 April 2021
Fixed
- Prevent exception when order exists with no invoice
[1.6.16] - 2 March 2021
Fixed
- Remove fake shipping ID because it will only generate an error
[1.6.15] - 1 March 2021
Fixed
- Fixed missing
shipping_id
[1.6.14] - 1 March 2021
Fixed
- Fixed missing
invoice_idandcreditmemo_idjust in case
[1.6.13] - 26 February 2021
Fixed
- Remove yarn.lock
- Fixed missing
order_id - De-duplicate address code of both Order and OrderVars class
[1.6.12] - 19 December 2020
Fixed
- Re-add
setup_versionfor Magento 2.2 compatibility
[1.6.11] - 30 November 2020
Fixed
- Use better method to inject form values in preview URL
Added
- Add new customer note variables (2.4+)
- Documented non-extension issue on outdated templates (FAQ)
[1.6.10] - 19 November 2020
Fixed
- Make sure form values for product, order and customer are transferred to preview
[1.6.9] - 2 November 2020
Fixed
- Change form IDs to become more unique to avoid conflicts with other extensions
[1.6.8] - 30 October 2020
Fixed
- Change namespace of UiComponents buttons (
preview) to avoid conflicts with other mixins
[1.6.7] - 28 July 2020
Fixed
- Bump Magento 2.4 dependencies
[1.6.6] - 23 July 2020
Fixed
- Remove all unneeded CSS from preview page
[1.6.5] - 21 July 2020
Fixed
- Set order ID when creating dummy shipment
- Upgrade tests to PHPUnit 8+ (Magento 2.4 compatible)
[1.6.4] - 30 June 2020
Added
- Enhance integration tests for AJAX URLs
- Allow for customer search based on full name
- Allow column sorting in search popups for products, orders and customers
Removed
- Remove
setup_versionbecause there is no setup
Fixed
- Show messages on empty data right away on page
- Additional compliance to PHP CodeSniffer
[1.6.3] - 3 June 2020
Added
- Cleaned up configuration section
- Fix CSS issue in header
- Cleanup outdated jQuery autocomplete files
[1.6.2] - 19 May 2020
Added
- Little footer in preview to show email subject
[1.6.1] - 12 May 2020
Fixed
- Fix issue with admin keys for Preview page
- Fix order_data not working, with empty greeting in order emails
[1.6.0] - 9 May 2020
Added
- Open a tab when previewing
- Reuse
react_loader.htmlKnockout HTML - Initialize components via UiComponent XML
[1.5.0] - 21 April 2020
Added
- Major rewrite of UiComponents using React to increase usability of searching for products, customers and orders
[1.4.3] - 10 December 2019
Fixed
- Performance fix for checking if there are any products, customers or orders
- Add default value 50 for limiting collections
[1.4.2] - 31 October 2019
[1.4.1] - 30 October 2019
Fixed
- New CLI did not properly translate per Store View
[1.4.0] - 29 October 2019
Added
- List all available transactional emails via the CLI (
bin/magento yireo_emailtester2:list) - Send mails via the CLI (
bin/magento yireo_emailtester2:send)
[1.3.3] - 28 October 2019
Fixed
- Remove debugging statement
[1.3.2] - 28 October 2019
Fixed
- Make sure "store_phone" (and other variables) switch per scope (Website) properly
- Allow to set Sender in Store Configuration and/or form
[1.3.1] - 16 October 2019
Fixed
- Fix issue with invoice items not showing in table
Added
- Support for event email_shipment_set_template_vars_before`
[1.3.0] - 12 October 2019
Fixed
- Fix issue with return value in M2.3.3
- Remove PHP requirement in composer
- Remember form values in forms
Added
- Basic MFTF support
[1.2.2] - September 2019
Added
- Initial MFTF navigation test
[1.2.1] - July 2019
Added
- Add missing
etc/config.xml - Move configuration to separate Yireo section
[1.2.0] - April 2019
Changed
- Converted CHANGELOG to KeepAChangelog format
Added
- Add Config class to phase out data-helper
- Add suggestion of entering config values
- Add some UI improvements for using autocomplete field
- Add module version to main page
[1.1.9] - February 2019
Changed
- Duplicate environment emulation in alertGrid caused "theme_dir" error
[1.1.8] - February 2019
Changed
- Refactoring of Zend Mime to ZF3 causes failure
[1.1.7] - February 2019
Changed
- Fix issue with changed event email_order_set_template_vars_before in M2.3
[1.1.6] - January 2019
Changed
- Passing array to email_order_set_template_vars_before causes Fatal Error
[1.1.5] - January 2019
Changed
- Add complete GitLab pipeline with live Magento checks
- Try to load proper address before formatting it
[1.1.4] - November 2018
Changed
- Rename "Email Tester" to "EmailTester" for marketplace
[1.1.3] - November 2018
Changed
- Magento 2.3 compatibility
[1.1.2] - November 2018
Changed
- Minor CSS improvements
[1.1.1] - November 2018
Changed
- Prevent invalid order ID to throw unwanted exception
- Fix untested issue in product exception
[1.1.0] - September 2018
Changed
- Add AlertGrid support
- Tighten composer dependencies
[1.0.5] - September 2018
Changed
- Fix shipment items in shipment email
- Add addresses to shipment emails
- Testing with Magento 2.2.6 approved without any issues
[1.0.4] - August 2018
Changed
- Supply extra variables
- Fix
checkout_payment_failed_templateemail - Add Integration Test to test all preview emails automatically
[1.0.3] - August 2018
Changed
- Bugfix for backend template email override not working
- Add proper CHANGELOG.md
[1.0.2] - August 2018
Changed
- Add Trait to check for database statistics
- Fix error with adminhtml mails that don't properly set area
[1.0.1] - July 2018
Changed
- ExtDN compliance
[1.0.0] - June 2018
Changed
- Rewrite manual form into UiComponent form
- Magento ECG compliance
- Add unit testing and integration testing
- Only compatible with Magento 2.2 and up
Removed
- Compatibility with 2.1 in favor of ViewModels
[0.2.12] - May 2018
Changed
- Remove unneeded composer dev requirements
[0.2.11] - January 2018
Changed
- Fix notice when no creditmemos are available
[0.2.10] - December 2017
Changed
- Change title in backend menu
[0.2.9] - November 2017
Changed
- Code beautification
[0.2.8] - October 2017
Changed
- Fix fatal error when Store View is incorrectly configured
[0.2.7] - September 2017
Changed
- Add basic Jasmine JS testing
[0.2.6] - August 2017
Changed
- Code cleanup
[0.2.5] - August 2017
Changed
- Fix compilation issues due to 1 PHP notice
[0.2.4] - August 2017
Changed
- EQP compliance
- Raise PHP requirement to PHP7
[0.2.3] - May 2017
Changed
- Remove adminhtml XML layout handles which cause wrong CSS
[0.2.2] - April 2017
Changed
- Add events
email_order_set_template_vars_beforeandemailtester_variables
[0.2.1] - April 2017
Changed
- Version bump
[0.2.0] - February 2017
Changed
- Added Store View filter
- Move all files from source/ to package root (M2.1 compliance)
[0.1.5] - November 2016
Changed
- Fix for loading theme-specific templates
[0.1.4] - September 2016
Changed
- Code compliance
[0.1.3] - August 2016
Changed
- Load entities only by catching exceptions
[0.1.2] - August 2016
Changed
- Fix DI compilation issue with wrong $context usage
- Implement mail functionality
[0.1.1] - August 2016
Changed
- Packaging issue
[0.1.0] - July 2016
Changed
- Initial public release
- Working edition with main variables
- Some unit tests
- Pending documentation
| Version | Stability | QA Status | Compatibility | Released |
|---|---|---|---|---|
| 1.7.10 | stable | Fail | Magento 2.4.7-2.4.9 Details | 2026-06-09 08:45:00 |
| 1.7.9 | stable | Not tested | Not yet tested Details | 2025-10-31 10:09:42 |
| 1.7.8 | stable | Not tested | Not yet tested Details | 2024-11-05 15:33:18 |
| 1.7.7 | stable | Not tested | Not yet tested Details | 2024-11-05 09:49:18 |
| 1.7.6 | stable | Not tested | Not yet tested Details | 2024-10-24 13:34:38 |
| 1.7.5 | stable | Not tested | Not yet tested Details | 2024-10-24 12:28:21 |
| 1.7.4 | stable | Not tested | Not yet tested Details | 2023-07-11 13:58:34 |
| 1.7.3 | stable | Not tested | Not yet tested Details | 2023-07-11 12:38:19 |
| 1.7.2 | stable | Not tested | Not yet tested Details | 2023-04-19 06:56:58 |
| 1.7.1 | stable | Not tested | Not yet tested Details | 2023-03-25 14:44:19 |
| 1.7.0 | stable | Not tested | Not yet tested Details | 2023-03-24 13:53:37 |
| 1.6.25 | stable | Not tested | Not yet tested Details | 2022-11-08 13:41:04 |
| 1.6.24 | stable | Not tested | Not yet tested Details | 2022-07-31 11:46:00 |
| 1.6.23 | stable | Not tested | Not yet tested Details | 2022-07-31 11:44:09 |
| 1.6.22 | stable | Not tested | Not yet tested Details | 2022-07-31 11:06:29 |
| 1.6.21 | stable | Not tested | Not yet tested Details | 2022-07-11 12:31:08 |
| 1.6.20 | stable | Not tested | Not yet tested Details | 2022-06-26 18:50:24 |
| 1.6.19 | stable | Not tested | Not yet tested Details | 2022-05-05 07:27:19 |
| 1.6.18 | stable | Not tested | Not yet tested Details | 2021-05-17 07:13:53 |
| 1.6.16 | stable | Not tested | Not yet tested Details | 2021-03-02 16:21:38 |
| 1.6.17 | stable | Not tested | Not yet tested Details | 2021-03-02 16:21:38 |
| 1.6.15 | stable | Not tested | Not yet tested Details | 2021-03-01 15:06:35 |
| 1.6.14 | stable | Not tested | Not yet tested Details | 2021-03-01 11:08:51 |
| 1.6.13 | stable | Not tested | Not yet tested Details | 2021-02-26 16:37:44 |
| 1.6.12 | stable | Not tested | Not yet tested Details | 2020-12-19 16:18:17 |
| 1.6.11 | stable | Not tested | Not yet tested Details | 2020-11-30 09:35:58 |
| 1.6.10 | stable | Not tested | Not yet tested Details | 2020-11-19 17:26:39 |
| 1.6.9 | stable | Not tested | Not yet tested Details | 2020-11-02 11:36:28 |
| 1.6.8 | stable | Not tested | Not yet tested Details | 2020-10-30 09:08:46 |
| 1.6.6 | stable | Not tested | Not yet tested Details | 2020-07-23 09:15:08 |
| 1.6.5 | stable | Not tested | Not yet tested Details | 2020-07-21 08:54:56 |
| 1.6.4 | stable | Not tested | Not yet tested Details | 2020-06-30 10:47:40 |
| 1.6.2 | stable | Not tested | Not yet tested Details | 2020-05-19 13:18:33 |
| 1.6.1 | stable | Not tested | Not yet tested Details | 2020-05-12 11:57:30 |
| 1.6.0 | stable | Not tested | Not yet tested Details | 2020-05-09 15:29:22 |
| 1.5.0 | stable | Not tested | Not yet tested Details | 2020-04-21 09:21:49 |
| 1.4.3 | stable | Not tested | Not yet tested Details | 2019-12-10 17:52:47 |
| 1.4.2 | stable | Not tested | Not yet tested Details | 2019-10-31 07:42:34 |
| 1.4.1 | stable | Not tested | Not yet tested Details | 2019-10-30 16:33:38 |
| 1.4.0 | stable | Not tested | Not yet tested Details | 2019-10-29 16:39:11 |
| 1.3.3 | stable | Not tested | Not yet tested Details | 2019-10-28 16:11:35 |
| 1.3.2 | stable | Not tested | Not yet tested Details | 2019-10-28 13:16:20 |
| 1.3.1 | stable | Not tested | Not yet tested Details | 2019-10-16 09:44:57 |
| 1.3.0 | stable | Not tested | Not yet tested Details | 2019-10-14 15:30:22 |
| 1.2.1 | stable | Not tested | Not yet tested Details | 2019-07-08 10:37:51 |
| 1.2.0 | stable | Not tested | Not yet tested Details | 2019-04-17 15:13:19 |
| 1.1.10 | stable | Not tested | Not yet tested Details | 2019-03-19 20:41:22 |
| 1.1.9 | stable | Not tested | Not yet tested Details | 2019-02-21 13:58:05 |
| 1.1.8 | stable | Not tested | Not yet tested Details | 2019-02-18 18:08:01 |
| 1.1.7 | stable | Not tested | Not yet tested Details | 2019-02-04 16:29:37 |
| 1.1.6 | stable | Not tested | Not yet tested Details | 2019-01-09 14:35:06 |
| 1.1.5 | stable | Not tested | Not yet tested Details | 2019-01-08 18:25:49 |
| 1.1.4 | stable | Not tested | Not yet tested Details | 2018-11-30 10:14:54 |
| 1.1.3 | stable | Not tested | Not yet tested Details | 2018-11-29 20:11:04 |
| 1.1.1 | stable | Not tested | Not yet tested Details | 2018-11-14 13:01:19 |
| 1.1.0 | stable | Not tested | Not yet tested Details | 2018-09-22 07:58:22 |
| 1.0.5 | stable | Not tested | Not yet tested Details | 2018-09-21 19:32:08 |
| 1.0.4 | stable | Not tested | Not yet tested Details | 2018-08-16 16:51:06 |
| 1.0.3 | stable | Not tested | Not yet tested Details | 2018-08-16 11:06:47 |
| 1.0.2 | stable | Not tested | Not yet tested Details | 2018-08-15 18:45:09 |
| 1.0.1 | stable | Not tested | Not yet tested Details | 2018-08-03 19:07:03 |
| 0.2.12 | stable | Not tested | Not yet tested Details | 2018-05-12 14:19:40 |
| 0.2.11 | stable | Not tested | Not yet tested Details | 2018-01-18 17:29:05 |
| 0.2.10 | stable | Not tested | Not yet tested Details | 2017-10-17 14:15:06 |
| 0.2.9 | stable | Not tested | Not yet tested Details | 2017-10-17 12:39:19 |
| 0.2.8 | stable | Not tested | Not yet tested Details | 2017-10-17 07:41:13 |
| 0.2.7 | stable | Not tested | Not yet tested Details | 2017-10-13 16:28:20 |
| 0.2.6 | stable | Not tested | Not yet tested Details | 2017-10-11 08:18:11 |
| 0.2.5 | stable | Not tested | Not yet tested Details | 2017-08-18 10:35:38 |
| 0.2.4 | stable | Not tested | Not yet tested Details | 2017-08-16 14:26:39 |
| 0.2.3 | stable | Fail | Not compatible Details | 2017-05-28 17:55:16 |
| 0.2.2 | stable | Not tested | Not yet tested Details | 2017-04-14 08:55:05 |
| 0.2.1 | stable | Not tested | Not yet tested Details | 2017-04-08 08:41:14 |
| 0.2.0 | stable | Not tested | Not yet tested Details | 2017-02-10 10:04:21 |
| 0.1.6 | stable | Not tested | Not yet tested Details | 2017-01-18 09:59:40 |
| 0.1.4 | stable | Not tested | Not yet tested Details | 2016-11-29 17:27:54 |
| 0.1.5 | stable | Not tested | Not yet tested Details | 2016-11-29 17:27:54 |
| 0.1.3 | stable | Not tested | Not yet tested Details | 2016-08-11 14:08:32 |
| 0.1.2 | stable | Not tested | Not yet tested Details | 2016-08-09 16:17:58 |
| 0.1.1 | stable | Not tested | Not yet tested Details | 2016-08-02 15:37:34 |
| 0.1.0 | stable | Not tested | Not yet tested Details | 2016-02-02 17:28:09 |
Requires 19
| Package | Constraint |
|---|---|
| ext-json | * |
| ext-pcre | * |
| magento/framework | ^101.0.1|^101.1|^102.0|^103.0 |
| magento/module-backend | ^100.0|^101.0|^102.0 |
| magento/module-catalog | ^101.0|^102.0|^103.0|^104.0 |
| magento/module-config | ^100.0|^101.0 |
| magento/module-customer | ^100.0|^101.0|^102.0|^103.0 |
| magento/module-eav | ^100.0|^101.0|^102.0 |
| magento/module-email | ^100.0|^101.0 |
| magento/module-payment | ^100.0 |
| magento/module-product-alert | ^100.4 |
| magento/module-quote | ^100.0|^101.0 |
| magento/module-sales | ^100.0|^101.0|^102.0|^103.0 |
| magento/module-store | ^100.0|^101.0 |
| magento/module-ui | ^101.0 |
| psr/log | ^1.0|^2.0|^3.0 |
| symfony/console | ^6.0|^7.0 |
| symfony/mime | ^6.0|^7.0 |
| yireo/magento2-admin-simple-search-fields | ^1.0 |
Requires-dev 1
| Package | Constraint |
|---|---|
| yireo/magento2-integration-test-helper | ~0.0 |
Compatibility
Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.
Code Quality
Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge — a phpcs finding can't make a module incompatible.
Static analysis
Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.
| Tool | Status | Findings | Summary |
|---|---|---|---|
| PHPCS | Warning | 24 | 24 warnings (ruleset: Magento2) — 6 auto-fixable with phpcbf |
| PHPMD | Warning | 6 | 6 rule violations (UnusedFormalParameter:3, UnusedLocalVariable:2, ExcessiveParameterList:1) |
| Cpd | Pass | 0 | |
| Composer validate | Info | 1 | valid; 1 advisory note (composer validate --strict) |
PHPStan
Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases. Cell → details modal.
Tests
Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.
Unit tests
Security
Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.
More from yireo
View vendorTurn an existing module into recurring revenue.
If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.