{"id":210372,"date":"2024-10-25T04:15:55","date_gmt":"2024-10-25T04:15:55","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/reply-to-for-wp-mail\/"},"modified":"2026-06-05T11:34:28","modified_gmt":"2026-06-05T11:34:28","slug":"replyto","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/replyto\/","author":9330583,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.2","stable_tag":"2.0.2","tested":"7.1","requires":"3.6","requires_php":"5.6","requires_plugins":null,"header_name":"Reply-To for WP_Mail","header_author":"ROBOTSTXT","header_description":"Configure your \"Reply-To:\" for WP_Mail with validation and admin settings.","assets_banners_color":"","last_updated":"2026-06-05 11:34:28","external_support_url":"","external_repository_url":"https:\/\/git.robotstxt.es\/ROBOTSTXT\/replyto","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.robotstxt.es\/","rating":0,"author_block_rating":0,"active_installs":100,"downloads":2109,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"JavierCasares","date":"2024-10-25 04:15:35"},"1.0.1":{"tag":"1.0.1","author":"JavierCasares","date":"2024-10-31 15:44:48"},"1.0.2":{"tag":"1.0.2","author":"JavierCasares","date":"2024-11-02 09:52:21"},"1.0.3":{"tag":"1.0.3","author":"JavierCasares","date":"2025-04-08 10:18:03"},"2.0.0":{"tag":"2.0.0","author":"JavierCasares","date":"2026-01-20 17:21:38"},"2.0.2":{"tag":"2.0.2","author":"JavierCasares","date":"2026-06-05 11:34:28"}},"upgrade_notice":{"2.0.2":"<p>Translations added for Spanish (Spain) and Catalan. WordPress minimum corrected to 3.6. Upgrade recommended.<\/p>","2.0.1":"<p>Bugfix release. Fixes context isolation between emails, duplicate Reply-To headers, and migration on WP-CLI. Upgrade recommended.<\/p>","2.0.0":"<p>Major release. Your existing Reply-To setting is automatically migrated to the new Default context \u2014 no manual action required.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3175408,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3175408,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3175408,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","2.0.0","2.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[267,450,196497,6696],"plugin_category":[41],"plugin_contributors":[88332],"plugin_business_model":[216239],"class_list":["post-210372","plugin","type-plugin","status-publish","hentry","plugin_tags-email","plugin_tags-mail","plugin_tags-reply-to","plugin_tags-smtp","plugin_category-communication","plugin_contributors-javiercasares","plugin_business_model-community","plugin_committers-javiercasares","plugin_committers-robotstxt","plugin_support_reps-javiercasares"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/replyto\/assets\/icon.svg?rev=3175408","icon":"https:\/\/ps.w.org\/replyto\/assets\/icon.svg?rev=3175408","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>The Reply-To for WP_Mail plugin allows you to easily manage the \"Reply-To\" header for all emails sent from your WordPress site. With this plugin, you can specify a custom email address that recipients will use when replying to your site's emails, ensuring that responses go to the correct inbox.<\/p>\n\n<p>Configure a different Reply-To address for each type of email: password resets, comment notifications, user registrations, system updates, and WooCommerce orders.<\/p>\n\n<p>Two developer filters are available for advanced customization:<\/p>\n\n<ul>\n<li><code>wp_mail_replyto_context<\/code> \u2014 override the detected email context.<\/li>\n<li><code>wp_mail_replyto_header<\/code> \u2014 override or suppress the Reply-To header for a specific email.<\/li>\n<\/ul>\n\n<h3>Compatibility<\/h3>\n\n<ul>\n<li>WordPress: 3.6 - 7.1<\/li>\n<li>PHP: 5.6 - 8.5<\/li>\n<\/ul>\n\n<h3>Compliance<\/h3>\n\n<p>This plugin adheres to the following security measures and review protocols for each version:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/developer.wordpress.org\/plugins\/\">WordPress Plugin Handbook<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/plugins\/wordpress-org\/plugin-security\/\">WordPress Plugin Security<\/a><\/li>\n<li><a href=\"https:\/\/developer.wordpress.org\/apis\/security\/\">WordPress APIs Security<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/WordPress\/WordPress-Coding-Standards\">WordPress Coding Standards<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/plugin-check\/\">Plugin Check (PCP)<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Automatic download<\/h4>\n\n<p>Visit the plugin section in your WordPress admin, search for \"Reply-To for WP Mail\"; download and install the plugin.<\/p>\n\n<h4>Manual download<\/h4>\n\n<p>Extract the contents of the ZIP and upload the contents to the <code>\/wp-content\/plugins\/replyto\/<\/code> directory. Once uploaded, it will appear in your plugin list.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20my%20existing%20reply-to%20setting%20be%20preserved%20after%20upgrading%20from%20v1%3F\"><h3>Will my existing Reply-To setting be preserved after upgrading from v1?<\/h3><\/dt>\n<dd><p>Yes. The plugin automatically migrates your existing email address and name to the Default context on the first page load after upgrade.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20configure%20a%20context%20but%20leave%20it%20disabled%3F\"><h3>What happens if I configure a context but leave it disabled?<\/h3><\/dt>\n<dd><p>Disabled contexts fall back to the Default Reply-To. If no Default is configured, no Reply-To header is added.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20with%20woocommerce%3F\"><h3>Does this plugin work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. When WooCommerce is active, a dedicated WooCommerce tab appears so you can route order emails to a separate reply address.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20on%20wordpress%20multisite%3F\"><h3>Does this plugin work on WordPress Multisite?<\/h3><\/dt>\n<dd><p>Yes. Each site in a Multisite network maintains its own configuration. On uninstall, data is removed from all sites.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.2<\/h4>\n\n<p><em>Release date: 2026-06-05<\/em><\/p>\n\n<p><strong>Highlights<\/strong><\/p>\n\n<ul>\n<li>Translations added for Spanish (Spain) and Catalan.<\/li>\n<li>WordPress minimum version corrected to 3.6 based on actual function usage (wp-compat analysis).<\/li>\n<\/ul>\n\n<p><strong>Changed<\/strong><\/p>\n\n<ul>\n<li>Minimum WordPress version updated from 4.1 to 3.6.<\/li>\n<li>Tested up to WordPress 7.1.<\/li>\n<li>POT file regenerated via WP-CLI i18n.<\/li>\n<\/ul>\n\n<p><strong>Added<\/strong><\/p>\n\n<ul>\n<li>Spanish (Spain) translation (es_ES).<\/li>\n<li>Catalan translation (ca).<\/li>\n<\/ul>\n\n<p><strong>Compatibility<\/strong><\/p>\n\n<ul>\n<li>WordPress: 3.6 - 7.1<\/li>\n<li>PHP: 5.6 - 8.5<\/li>\n<\/ul>\n\n<p><strong>Tests<\/strong><\/p>\n\n<ul>\n<li>PHP Coding Standards: 3.13.5<\/li>\n<li>WordPress Coding Standards: 3.3.0<\/li>\n<li>PHPStan: 2.2.2 (level 9)<\/li>\n<li>PHPUnit: 9.6.34<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<p><em>Release date: 2026-06-05<\/em><\/p>\n\n<p><strong>Highlights<\/strong><\/p>\n\n<ul>\n<li>Major bugfix release addressing three critical issues found during pre-deploy audit.<\/li>\n<\/ul>\n\n<p><strong>Fixed<\/strong><\/p>\n\n<ul>\n<li>Context cache not resetting between emails in the same PHP process.<\/li>\n<li>Duplicate Reply-To header injected when an existing Reply-To was present.<\/li>\n<li>Migration hook only running on admin_init \u2014 missed WP-CLI activations.<\/li>\n<li>RFC 5322 display name quoting now applied only when the name contains special characters.<\/li>\n<\/ul>\n\n<p><strong>Added<\/strong><\/p>\n\n<ul>\n<li>Developer filters: wp_mail_replyto_context and wp_mail_replyto_header.<\/li>\n<li>load_plugin_textdomain() for translation support on WordPress &lt; 4.6.<\/li>\n<\/ul>\n\n<p><strong>Security<\/strong><\/p>\n\n<ul>\n<li>sanitize_callback added to legacy option registrations.<\/li>\n<\/ul>\n\n<p><strong>Compatibility<\/strong><\/p>\n\n<ul>\n<li>WordPress: 4.1 - 6.9<\/li>\n<li>PHP: 5.6 - 8.5<\/li>\n<\/ul>\n\n<p><strong>Tests<\/strong><\/p>\n\n<ul>\n<li>PHP Coding Standards: 3.13.5<\/li>\n<li>WordPress Coding Standards: 3.3.0<\/li>\n<li>PHPStan: 2.2.2 (level 9)<\/li>\n<li>PHPUnit: 9.6.34<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<p><em>Release date: 2026-01-20<\/em><\/p>\n\n<p><strong>Highlights<\/strong><\/p>\n\n<ul>\n<li>Complete rewrite with context-based Reply-To routing.<\/li>\n<\/ul>\n\n<p><strong>Added<\/strong><\/p>\n\n<ul>\n<li>Six email contexts: Default, Authentication, Comments, Users, System, WooCommerce.<\/li>\n<li>Modern tabbed admin interface with visual status indicators.<\/li>\n<li>Reply-To display name field with header injection prevention.<\/li>\n<li>Automatic migration from v1.0.x settings.<\/li>\n<li>uninstall.php for clean data removal.<\/li>\n<\/ul>\n\n<p><strong>Compatibility<\/strong><\/p>\n\n<ul>\n<li>WordPress: 4.1 - 6.9<\/li>\n<li>PHP: 5.6 - 8.5<\/li>\n<\/ul>\n\n<p><strong>Tests<\/strong><\/p>\n\n<ul>\n<li>PHP Coding Standards: 3.13.4<\/li>\n<li>WordPress Coding Standards: 3.3.0<\/li>\n<li>Plugin Check (PCP): 1.4.0<\/li>\n<\/ul>\n\n<h4>Previous versions<\/h4>\n\n<p>If you want to see the full changelog, visit the <a href=\"https:\/\/git.robotstxt.es\/ROBOTSTXT\/replyto-dev\/raw\/branch\/main\/changelog.txt\">changelog.txt<\/a> file.<\/p>","raw_excerpt":"Configure different &quot;Reply-To&quot; addresses by email context with validation, modern tabbed UI, and automatic migration.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/210372","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=210372"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/javiercasares"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=210372"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=210372"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=210372"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=210372"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=210372"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=210372"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}