Configure different “Reply-To” addresses by email context with validation, modern tabbed UI, and automatic migration.
Information
Author:
ROBOTSTXTDownload
Price:
€0.00Requirements
Version:
2.0.3WordPress:
4.7–
7.1PHP >=
5.6Changelog
2.0.3
Release date: 2026-08-18
Highlights
- Housekeeping release: branding URLs moved to robotstxt.software and declared WordPress support floor set to 4.7.
Changed
- Minimum WordPress version raised from 3.6 to 4.7 (real functional floor: register_setting() with array arguments requires WordPress 4.7; symbol-wise floor is 3.6 — wp_unslash — but sanitization on save only works from 4.7).
- Developer URL updated to https://www.robotstxt.software/ and plugin home page added (https://www.robotstxt.software/plugins/replyto/).
- Full changelog now hosted at https://www.robotstxt.software/plugins/replyto/changelog/.
- Development tooling updated via composer update (PHPCS 3.13.6, WPCS 3.4.1, PHPStan 2.2.8, PHPUnit 9.6.36).
Added
- bin/preflight.sh automated pre-deploy verification script (PHPCS, PHPStan, PHPCompatibility, PHPUnit, composer audit, candidate ZIP inspection).
- WordPress floor verification (wp-compat) integrated into PHPStan analysis; declared minimum now verified on every run.
- PHPUnit suite expanded from 27 to 78 tests (95.5% line coverage): wp_mail filter routing, context detection, migration, sanitization, admin rendering, uninstall cleanup.
Compatibility
- WordPress: 4.7 – 7.1
- PHP: 5.6 – 8.5
Tests
- PHP Coding Standards: 3.13.6
- WordPress Coding Standards: 3.4.1
- PHPStan: 2.2.8 (level 9)
- PHPUnit: 9.6.36
2.0.2
Release date: 2026-06-05
Highlights
- Translations added for Spanish (Spain) and Catalan.
- WordPress minimum version corrected to 3.6 based on actual function usage.
Changed
- Minimum WordPress version updated from 4.1 to 3.6 (real minimum per wp-compat analysis: wp_unslash since WP 3.6).
- Tested up to WordPress 7.1.
- POT file regenerated via WP-CLI i18n — removed dead strings, corrected line references.
- Deploy script no longer includes docs/ in the distributable ZIP.
- Deploy script skips empty vendor/ directory when no production Composer dependencies exist.
Added
- Spanish (Spain) translation (es_ES).
- Catalan translation (ca).
Compatibility
- WordPress: 3.6 – 7.1
- PHP: 5.6 – 8.5
Tests
- PHP Coding Standards: 3.13.5
- WordPress Coding Standards: 3.3.0
- PHPStan: 2.2.2 (level 9)
- PHPUnit: 9.6.34
2.0.1
Release date: 2026-06-05
Highlights
- Major bugfix release addressing three critical issues found during pre-deploy audit.
Fixed
- Context cache not resetting between emails in the same PHP process (affected WP-Cron and REST batch sends).
- Duplicate Reply-To header injected when an existing Reply-To was present in the email.
- Migration hook only running on admin_init — missed WP-CLI activations and automated deployments.
- RFC 5322 display name quoting now applied only when the name contains special characters.
Added
- Developer filter wp_mail_replyto_context — override the detected email context.
- Developer filter wp_mail_replyto_header — override or suppress the Reply-To header per email.
- load_plugin_textdomain() registration for translation support on WordPress < 4.6.
- DNS domain validation per context with user-friendly warning messages.
- PHPUnit test suite (27 tests).
- bin/deploy.sh build script.
Changed
- Admin CSS now registered via wp_register_style() + wp_add_inline_style().
- enabled flag now handles boolean true in addition to string '1'.
- Multibyte-safe name length truncation (mb_strlen/mb_substr).
- CR-only header normalization added alongside CRLF.
Security
- sanitize_callback added to legacy option registrations (wp_mail_replyto_email, wp_mail_replyto_name).
Compatibility
- WordPress: 4.1 – 6.9
- PHP: 5.6 – 8.5
Tests
- PHP Coding Standards: 3.13.5
- WordPress Coding Standards: 3.3.0
- PHPStan: 2.2.2 (level 9)
- PHPUnit: 9.6.34
2.0.0
Release date: 2026-01-20
Highlights
- Complete rewrite with context-based Reply-To routing.
Added
- Context-based Reply-To routing — configure different Reply-To addresses for different types of emails.
- Six email contexts: Default, Authentication & Security, Comments & Moderation, Users & Registration, System & Updates, WooCommerce.
- WooCommerce tab only shown when WooCommerce plugin is active.
- Intelligent context detection using debug_backtrace() with DEBUG_BACKTRACE_IGNORE_ARGS and a 20-frame limit.
- Modern tabbed admin interface using WordPress native nav-tab-wrapper.
- Visual status indicators on each tab.
- Enable/disable toggle per context (Default is always active).
- Fallback chain: specific context → Default context → legacy settings.
- Reply-To display name field with header injection prevention.
- DNS domain validation for email addresses.
- Configuration change logging for security auditing (requires WP_DEBUG_LOG).
- Automatic migration from v1.0.x — existing settings preserved in the Default context.
- uninstall.php for clean removal of all plugin options on single-site and Multisite.
Changed
- Settings structure changed from two individual options to a single serialized array (wp_mail_replyto_contexts).
- Settings page completely rewritten with tab-based interface.
Security
- Strict RFC 5322 email format validation beyond is_email().
- Defense-in-depth header injection prevention.
Compatibility
- WordPress: 4.1 – 6.9
- PHP: 5.6 – 8.5
Tests
- PHP Coding Standards: 3.13.4
- WordPress Coding Standards: 3.3.0
- Plugin Check (PCP): 1.4.0
1.0.3
Release date: 2025-04-08
Changed
- Compatible with WordPress 6.8.
- Improved function documentation.
Compatibility
- WordPress: 4.1 – 6.9
- PHP: 5.6 – 8.5
Tests
- PHP Coding Standards: 3.12.1
- WordPress Coding Standards: 3.1.0
- Plugin Check (PCP): 1.4.0
1.0.2
Release date: 2024-11-02
Fixed
- Preparation for GlotPress translation workflow.
Compatibility
- WordPress: 4.1 – 6.9
- PHP: 5.6 – 8.5
1.0.1
Release date: 2024-10-31
Added
- Translation ready.
Compatibility
- WordPress: 4.1 – 6.9
- PHP: 5.6 – 8.5
1.0.0
Release date: 2024-10-22
Added
- First version.
Compatibility
- WordPress: 4.1 – 4.1
- PHP: 5.6 – 8.5
