This commit is contained in:
Javier Casares 2026-08-18 11:29:29 +00:00
commit d9bbfb055b
8 changed files with 422 additions and 250 deletions

View file

@ -1,5 +1,38 @@
== Changelog ==
= 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_

Binary file not shown.

View file

@ -3,9 +3,9 @@
# This file is distributed under the GPL-3.0-or-later.
msgid ""
msgstr ""
"Project-Id-Version: Reply-To for WP_Mail 2.0.2\n"
"Project-Id-Version: Reply-To for WP_Mail 2.0.3\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/replyto\n"
"POT-Creation-Date: 2026-06-05T11:22:01+00:00\n"
"POT-Creation-Date: 2026-08-18T11:23:15+00:00\n"
"PO-Revision-Date: 2026-06-05 12:00+0100\n"
"Last-Translator: Javier Casares <javier@robotstxt.es>\n"
"Language-Team: Catalan <ca@li.org>\n"
@ -22,10 +22,19 @@ msgstr ""
msgid "Reply-To for WP_Mail"
msgstr "Respon-A per a WP_Mail"
#. Plugin URI of the plugin
#: replyto.php
msgid "https://www.robotstxt.software/plugins/replyto/"
msgstr "https://www.robotstxt.software/plugins/replyto/"
#. Description of the plugin
#: replyto.php
msgid "Configure your \"Reply-To:\" for WP_Mail with validation, admin settings, and context-based routing."
msgstr "Configureu el vostre «Respon-A:» per a WP_Mail amb validació, opcions d'administració i enrutament per context."
msgid ""
"Configure your \"Reply-To:\" for WP_Mail with validation, admin settings, "
"and context-based routing."
msgstr ""
"Configureu el vostre «Respon-A:» per a WP_Mail amb validació, opcions "
"d'administració i enrutament per context."
#. Author of the plugin
#: replyto.php
@ -34,182 +43,235 @@ msgstr "ROBOTSTXT"
#. Author URI of the plugin
#: replyto.php
msgid "https://www.robotstxt.es/"
msgstr "https://www.robotstxt.es/"
msgid "https://www.robotstxt.software/"
msgstr "https://www.robotstxt.software/"
#: replyto.php:391
#: replyto.php:394
msgid "WP Mail Reply-To Settings"
msgstr "Configuració de Respon-A per a WP Mail"
#: replyto.php:392
#: replyto.php:395
msgid "Reply-To"
msgstr "Respon-A"
#: replyto.php:492
#: replyto.php:706
#: replyto.php:495 replyto.php:709
msgid "Default"
msgstr "Predeterminat"
#: replyto.php:493
#: replyto.php:496
msgid "Authentication"
msgstr "Autenticació"
#: replyto.php:494
#: replyto.php:497
msgid "Comments"
msgstr "Comentaris"
#: replyto.php:495
#: replyto.php:498
msgid "Users"
msgstr "Usuaris"
#: replyto.php:496
#: replyto.php:499
msgid "System"
msgstr "Sistema"
#: replyto.php:501
#: replyto.php:735
#: replyto.php:504 replyto.php:738
msgid "WooCommerce"
msgstr "WooCommerce"
#. translators: %s: context name
#: replyto.php:526
#: replyto.php:529
#, php-format
msgid "Invalid email address for %s context."
msgstr "Adreça de correu no vàlida per al context %s."
#. translators: %s: context name
#: replyto.php:542
#: replyto.php:545
#, php-format
msgid "Warning: The email domain for %s context does not appear to have valid DNS records."
msgstr "Avís: el domini de correu del context %s no sembla tenir registres DNS vàlids."
msgid ""
"Warning: The email domain for %s context does not appear to have valid DNS "
"records."
msgstr ""
"Avís: el domini de correu del context %s no sembla tenir registres DNS "
"vàlids."
#. translators: %s: context name
#: replyto.php:557
#: replyto.php:567
#: replyto.php:560 replyto.php:570
#, php-format
msgid "Name for %s context was truncated to 255 characters."
msgstr "El nom del context %s s'ha truncat a 255 caràcters."
#: replyto.php:608
#: replyto.php:611
msgid "Reply-To configuration updated successfully."
msgstr "La configuració de Respon-A s'ha actualitzat correctament."
#: replyto.php:707
msgid "Default Reply-To used for all emails that do not match a specific context. This is the fallback when other contexts are not configured."
msgstr "Respon-A predeterminat per a tots els correus que no coincideixin amb cap context específic. És l'opció de reserva quan altres contextos no estan configurats."
#: replyto.php:708
msgid "Newsletter confirmations, general notifications, and any emails not covered by other contexts."
msgstr "Confirmacions de butlletins, notificacions generals i qualsevol correu no cobert per altres contextos."
#: replyto.php:710
msgid ""
"Default Reply-To used for all emails that do not match a specific context. "
"This is the fallback when other contexts are not configured."
msgstr ""
"Respon-A predeterminat per a tots els correus que no coincideixin amb cap "
"context específic. És l'opció de reserva quan altres contextos no estan "
"configurats."
#: replyto.php:711
msgid ""
"Newsletter confirmations, general notifications, and any emails not covered "
"by other contexts."
msgstr ""
"Confirmacions de butlletins, notificacions generals i qualsevol correu no "
"cobert per altres contextos."
#: replyto.php:714
msgid "Authentication & Security"
msgstr "Autenticació i seguretat"
#: replyto.php:712
msgid "Reply-To for password resets, password changes, and email address changes."
msgstr "Respon-A per a restabliments de contrasenya, canvis de contrasenya i canvis de l'adreça de correu."
#: replyto.php:713
msgid "Password reset requests, password change confirmations, email address verifications."
msgstr "Sol·licituds de restabliment de contrasenya, confirmacions de canvi de contrasenya, verificacions de l'adreça de correu."
#: replyto.php:715
msgid ""
"Reply-To for password resets, password changes, and email address changes."
msgstr ""
"Respon-A per a restabliments de contrasenya, canvis de contrasenya i canvis "
"de l'adreça de correu."
#: replyto.php:716
msgid ""
"Password reset requests, password change confirmations, email address "
"verifications."
msgstr ""
"Sol·licituds de restabliment de contrasenya, confirmacions de canvi de "
"contrasenya, verificacions de l'adreça de correu."
#: replyto.php:719
msgid "Comments & Moderation"
msgstr "Comentaris i moderació"
#: replyto.php:717
#: replyto.php:720
msgid "Reply-To for comment notifications and moderation alerts."
msgstr "Respon-A per a notificacions de comentaris i alertes de moderació."
#: replyto.php:718
msgid "New comment notifications, comment moderation alerts, comment replies."
msgstr "Notificacions de nous comentaris, alertes de moderació de comentaris, respostes a comentaris."
#: replyto.php:721
msgid "New comment notifications, comment moderation alerts, comment replies."
msgstr ""
"Notificacions de nous comentaris, alertes de moderació de comentaris, "
"respostes a comentaris."
#: replyto.php:724
msgid "Users & Registration"
msgstr "Usuaris i registre"
#: replyto.php:722
msgid "Reply-To for new user registrations, role changes, and user management emails."
msgstr "Respon-A per a registres de nous usuaris, canvis de rol i correus de gestió d'usuaris."
#: replyto.php:723
msgid "New user welcome emails, user role changes, account activations."
msgstr "Correus de benvinguda a nous usuaris, canvis de rol d'usuari, activacions de compte."
#: replyto.php:725
msgid ""
"Reply-To for new user registrations, role changes, and user management "
"emails."
msgstr ""
"Respon-A per a registres de nous usuaris, canvis de rol i correus de gestió "
"d'usuaris."
#: replyto.php:726
msgid "New user welcome emails, user role changes, account activations."
msgstr ""
"Correus de benvinguda a nous usuaris, canvis de rol d'usuari, activacions de "
"compte."
#: replyto.php:729
msgid "System & Updates"
msgstr "Sistema i actualitzacions"
#: replyto.php:727
msgid "Reply-To for automatic updates, system alerts, and critical site health notifications."
msgstr "Respon-A per a actualitzacions automàtiques, alertes del sistema i notificacions crítiques de salut del lloc."
#: replyto.php:730
msgid ""
"Reply-To for automatic updates, system alerts, and critical site health "
"notifications."
msgstr ""
"Respon-A per a actualitzacions automàtiques, alertes del sistema i "
"notificacions crítiques de salut del lloc."
#: replyto.php:728
msgid "WordPress core updates, plugin updates, theme updates, recovery mode, fatal error notifications."
msgstr "Actualitzacions del nucli de WordPress, actualitzacions de connectors, actualitzacions de temes, mode de recuperació, notificacions d'errors fatals."
#: replyto.php:731
msgid ""
"WordPress core updates, plugin updates, theme updates, recovery mode, fatal "
"error notifications."
msgstr ""
"Actualitzacions del nucli de WordPress, actualitzacions de connectors, "
"actualitzacions de temes, mode de recuperació, notificacions d'errors fatals."
#: replyto.php:736
msgid "Reply-To for WooCommerce order notifications, invoices, and customer communications."
msgstr "Respon-A per a notificacions de comandes de WooCommerce, factures i comunicacions amb clients."
#: replyto.php:739
msgid ""
"Reply-To for WooCommerce order notifications, invoices, and customer "
"communications."
msgstr ""
"Respon-A per a notificacions de comandes de WooCommerce, factures i "
"comunicacions amb clients."
#: replyto.php:737
#: replyto.php:740
msgid "Order confirmations, shipping notifications, invoices, customer notes."
msgstr "Confirmacions de comandes, notificacions d'enviament, factures, notes del client."
msgstr ""
"Confirmacions de comandes, notificacions d'enviament, factures, notes del "
"client."
#: replyto.php:751
msgid "Configure different Reply-To addresses based on the type of email being sent. Each context can have its own email address and display name."
msgstr "Configureu adreces de resposta diferents en funció del tipus de correu enviat. Cada context pot tenir la seva pròpia adreça de correu electrònic i nom."
#: replyto.php:754
msgid ""
"Configure different Reply-To addresses based on the type of email being "
"sent. Each context can have its own email address and display name."
msgstr ""
"Configureu adreces de resposta diferents en funció del tipus de correu "
"enviat. Cada context pot tenir la seva pròpia adreça de correu electrònic i "
"nom."
#: replyto.php:789
#: replyto.php:792
msgid "Active with email configured"
msgstr "Actiu amb correu configurat"
#: replyto.php:790
#: replyto.php:793
msgid "Inactive or no email configured"
msgstr "Inactiu o sense correu configurat"
#: replyto.php:806
#: replyto.php:809
msgid "What this context covers:"
msgstr "Què cobreix aquest context:"
#: replyto.php:808
#: replyto.php:811
msgid "Examples:"
msgstr "Exemples:"
#: replyto.php:819
#: replyto.php:822
msgid "Enable this context"
msgstr "Activar aquest context"
#: replyto.php:822
msgid "When disabled, emails in this context will use the Default Reply-To address."
msgstr "Quan està desactivat, els correus d'aquest context usaran l'adreça de Respon-A predeterminada."
#: replyto.php:825
msgid ""
"When disabled, emails in this context will use the Default Reply-To address."
msgstr ""
"Quan està desactivat, els correus d'aquest context usaran l'adreça de Respon-"
"A predeterminada."
#: replyto.php:832
#: replyto.php:835
msgid "Reply-To Email Address"
msgstr "Adreça de correu de resposta"
#: replyto.php:842
#: replyto.php:845
msgid "Enter the email address where replies should be sent."
msgstr "Introduïu l'adreça de correu a la qual s'enviaran les respostes."
#: replyto.php:849
#: replyto.php:852
msgid "Reply-To Display Name (Optional)"
msgstr "Nom de visualització de resposta (opcional)"
#: replyto.php:859
msgid "Optional: Enter a name to display with the email (e.g., \"Support Team\")."
msgstr "Opcional: introduïu un nom per mostrar amb el correu (p.&nbsp;ex., «Equip de suport»)."
#: replyto.php:862
msgid ""
"Optional: Enter a name to display with the email (e.g., \"Support Team\")."
msgstr ""
"Opcional: introduïu un nom per mostrar amb el correu (p.&nbsp;ex., «Equip de "
"suport»)."
#: replyto.php:868
#: replyto.php:871
msgid "Note:"
msgstr "Nota:"
#: replyto.php:869
msgid "The Default context is always active and acts as a fallback for all emails."
msgstr "El context predeterminat sempre està actiu i actua com a reserva per a tots els correus."
#: replyto.php:872
msgid ""
"The Default context is always active and acts as a fallback for all emails."
msgstr ""
"El context predeterminat sempre està actiu i actua com a reserva per a tots "
"els correus."
#: replyto.php:895
#: replyto.php:898
msgid "Save Settings"
msgstr "Desa la configuració"

Binary file not shown.

View file

@ -3,9 +3,9 @@
# This file is distributed under the GPL-3.0-or-later.
msgid ""
msgstr ""
"Project-Id-Version: Reply-To for WP_Mail 2.0.2\n"
"Project-Id-Version: Reply-To for WP_Mail 2.0.3\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/replyto\n"
"POT-Creation-Date: 2026-06-05T11:22:01+00:00\n"
"POT-Creation-Date: 2026-08-18T11:23:15+00:00\n"
"PO-Revision-Date: 2026-06-05 12:00+0100\n"
"Last-Translator: Javier Casares <javier@robotstxt.es>\n"
"Language-Team: Spanish (Spain) <es@li.org>\n"
@ -22,10 +22,19 @@ msgstr ""
msgid "Reply-To for WP_Mail"
msgstr "Responder a para WP_Mail"
#. Plugin URI of the plugin
#: replyto.php
msgid "https://www.robotstxt.software/plugins/replyto/"
msgstr "https://www.robotstxt.software/plugins/replyto/"
#. Description of the plugin
#: replyto.php
msgid "Configure your \"Reply-To:\" for WP_Mail with validation, admin settings, and context-based routing."
msgstr "Configure su «Responder a:» para WP_Mail con validación, ajustes de administración y enrutamiento por contexto."
msgid ""
"Configure your \"Reply-To:\" for WP_Mail with validation, admin settings, "
"and context-based routing."
msgstr ""
"Configure su «Responder a:» para WP_Mail con validación, ajustes de "
"administración y enrutamiento por contexto."
#. Author of the plugin
#: replyto.php
@ -34,182 +43,237 @@ msgstr "ROBOTSTXT"
#. Author URI of the plugin
#: replyto.php
msgid "https://www.robotstxt.es/"
msgstr "https://www.robotstxt.es/"
msgid "https://www.robotstxt.software/"
msgstr "https://www.robotstxt.software/"
#: replyto.php:391
#: replyto.php:394
msgid "WP Mail Reply-To Settings"
msgstr "Ajustes de Responder a para WP Mail"
#: replyto.php:392
#: replyto.php:395
msgid "Reply-To"
msgstr "Responder a"
#: replyto.php:492
#: replyto.php:706
#: replyto.php:495 replyto.php:709
msgid "Default"
msgstr "Predeterminado"
#: replyto.php:493
#: replyto.php:496
msgid "Authentication"
msgstr "Autenticación"
#: replyto.php:494
#: replyto.php:497
msgid "Comments"
msgstr "Comentarios"
#: replyto.php:495
#: replyto.php:498
msgid "Users"
msgstr "Usuarios"
#: replyto.php:496
#: replyto.php:499
msgid "System"
msgstr "Sistema"
#: replyto.php:501
#: replyto.php:735
#: replyto.php:504 replyto.php:738
msgid "WooCommerce"
msgstr "WooCommerce"
#. translators: %s: context name
#: replyto.php:526
#: replyto.php:529
#, php-format
msgid "Invalid email address for %s context."
msgstr "Dirección de correo no válida para el contexto %s."
#. translators: %s: context name
#: replyto.php:542
#: replyto.php:545
#, php-format
msgid "Warning: The email domain for %s context does not appear to have valid DNS records."
msgstr "Aviso: el dominio de correo del contexto %s no parece tener registros DNS válidos."
msgid ""
"Warning: The email domain for %s context does not appear to have valid DNS "
"records."
msgstr ""
"Aviso: el dominio de correo del contexto %s no parece tener registros DNS "
"válidos."
#. translators: %s: context name
#: replyto.php:557
#: replyto.php:567
#: replyto.php:560 replyto.php:570
#, php-format
msgid "Name for %s context was truncated to 255 characters."
msgstr "El nombre del contexto %s se ha truncado a 255 caracteres."
#: replyto.php:608
#: replyto.php:611
msgid "Reply-To configuration updated successfully."
msgstr "La configuración de Responder a se ha actualizado correctamente."
#: replyto.php:707
msgid "Default Reply-To used for all emails that do not match a specific context. This is the fallback when other contexts are not configured."
msgstr "Responder a predeterminado para todos los correos que no coincidan con un contexto específico. Es la opción alternativa cuando otros contextos no están configurados."
#: replyto.php:708
msgid "Newsletter confirmations, general notifications, and any emails not covered by other contexts."
msgstr "Confirmaciones de boletines, notificaciones generales y cualquier correo no cubierto por otros contextos."
#: replyto.php:710
msgid ""
"Default Reply-To used for all emails that do not match a specific context. "
"This is the fallback when other contexts are not configured."
msgstr ""
"Responder a predeterminado para todos los correos que no coincidan con un "
"contexto específico. Es la opción alternativa cuando otros contextos no "
"están configurados."
#: replyto.php:711
msgid ""
"Newsletter confirmations, general notifications, and any emails not covered "
"by other contexts."
msgstr ""
"Confirmaciones de boletines, notificaciones generales y cualquier correo no "
"cubierto por otros contextos."
#: replyto.php:714
msgid "Authentication & Security"
msgstr "Autenticación y seguridad"
#: replyto.php:712
msgid "Reply-To for password resets, password changes, and email address changes."
msgstr "Responder a para restablecimientos de contraseña, cambios de contraseña y cambios de dirección de correo."
#: replyto.php:713
msgid "Password reset requests, password change confirmations, email address verifications."
msgstr "Solicitudes de restablecimiento de contraseña, confirmaciones de cambio de contraseña, verificaciones de dirección de correo."
#: replyto.php:715
msgid ""
"Reply-To for password resets, password changes, and email address changes."
msgstr ""
"Responder a para restablecimientos de contraseña, cambios de contraseña y "
"cambios de dirección de correo."
#: replyto.php:716
msgid ""
"Password reset requests, password change confirmations, email address "
"verifications."
msgstr ""
"Solicitudes de restablecimiento de contraseña, confirmaciones de cambio de "
"contraseña, verificaciones de dirección de correo."
#: replyto.php:719
msgid "Comments & Moderation"
msgstr "Comentarios y moderación"
#: replyto.php:717
#: replyto.php:720
msgid "Reply-To for comment notifications and moderation alerts."
msgstr "Responder a para notificaciones de comentarios y alertas de moderación."
#: replyto.php:718
msgid "New comment notifications, comment moderation alerts, comment replies."
msgstr "Notificaciones de nuevos comentarios, alertas de moderación de comentarios, respuestas a comentarios."
msgstr ""
"Responder a para notificaciones de comentarios y alertas de moderación."
#: replyto.php:721
msgid "New comment notifications, comment moderation alerts, comment replies."
msgstr ""
"Notificaciones de nuevos comentarios, alertas de moderación de comentarios, "
"respuestas a comentarios."
#: replyto.php:724
msgid "Users & Registration"
msgstr "Usuarios y registro"
#: replyto.php:722
msgid "Reply-To for new user registrations, role changes, and user management emails."
msgstr "Responder a para registros de nuevos usuarios, cambios de rol y correos de gestión de usuarios."
#: replyto.php:723
msgid "New user welcome emails, user role changes, account activations."
msgstr "Correos de bienvenida a nuevos usuarios, cambios de rol de usuario, activaciones de cuenta."
#: replyto.php:725
msgid ""
"Reply-To for new user registrations, role changes, and user management "
"emails."
msgstr ""
"Responder a para registros de nuevos usuarios, cambios de rol y correos de "
"gestión de usuarios."
#: replyto.php:726
msgid "New user welcome emails, user role changes, account activations."
msgstr ""
"Correos de bienvenida a nuevos usuarios, cambios de rol de usuario, "
"activaciones de cuenta."
#: replyto.php:729
msgid "System & Updates"
msgstr "Sistema y actualizaciones"
#: replyto.php:727
msgid "Reply-To for automatic updates, system alerts, and critical site health notifications."
msgstr "Responder a para actualizaciones automáticas, alertas del sistema y notificaciones críticas de estado del sitio."
#: replyto.php:730
msgid ""
"Reply-To for automatic updates, system alerts, and critical site health "
"notifications."
msgstr ""
"Responder a para actualizaciones automáticas, alertas del sistema y "
"notificaciones críticas de estado del sitio."
#: replyto.php:728
msgid "WordPress core updates, plugin updates, theme updates, recovery mode, fatal error notifications."
msgstr "Actualizaciones del núcleo de WordPress, actualizaciones de plugins, actualizaciones de temas, modo de recuperación, notificaciones de errores fatales."
#: replyto.php:731
msgid ""
"WordPress core updates, plugin updates, theme updates, recovery mode, fatal "
"error notifications."
msgstr ""
"Actualizaciones del núcleo de WordPress, actualizaciones de plugins, "
"actualizaciones de temas, modo de recuperación, notificaciones de errores "
"fatales."
#: replyto.php:736
msgid "Reply-To for WooCommerce order notifications, invoices, and customer communications."
msgstr "Responder a para notificaciones de pedidos de WooCommerce, facturas y comunicaciones con clientes."
#: replyto.php:739
msgid ""
"Reply-To for WooCommerce order notifications, invoices, and customer "
"communications."
msgstr ""
"Responder a para notificaciones de pedidos de WooCommerce, facturas y "
"comunicaciones con clientes."
#: replyto.php:737
#: replyto.php:740
msgid "Order confirmations, shipping notifications, invoices, customer notes."
msgstr "Confirmaciones de pedidos, notificaciones de envío, facturas, notas del cliente."
msgstr ""
"Confirmaciones de pedidos, notificaciones de envío, facturas, notas del "
"cliente."
#: replyto.php:751
msgid "Configure different Reply-To addresses based on the type of email being sent. Each context can have its own email address and display name."
msgstr "Configure diferentes direcciones de respuesta según el tipo de correo enviado. Cada contexto puede tener su propia dirección de correo electrónico y nombre."
#: replyto.php:754
msgid ""
"Configure different Reply-To addresses based on the type of email being "
"sent. Each context can have its own email address and display name."
msgstr ""
"Configure diferentes direcciones de respuesta según el tipo de correo "
"enviado. Cada contexto puede tener su propia dirección de correo electrónico "
"y nombre."
#: replyto.php:789
#: replyto.php:792
msgid "Active with email configured"
msgstr "Activo con correo configurado"
#: replyto.php:790
#: replyto.php:793
msgid "Inactive or no email configured"
msgstr "Inactivo o sin correo configurado"
#: replyto.php:806
#: replyto.php:809
msgid "What this context covers:"
msgstr "Qué cubre este contexto:"
#: replyto.php:808
#: replyto.php:811
msgid "Examples:"
msgstr "Ejemplos:"
#: replyto.php:819
#: replyto.php:822
msgid "Enable this context"
msgstr "Activar este contexto"
#: replyto.php:822
msgid "When disabled, emails in this context will use the Default Reply-To address."
msgstr "Cuando está desactivado, los correos de este contexto usarán la dirección de Responder a predeterminada."
#: replyto.php:825
msgid ""
"When disabled, emails in this context will use the Default Reply-To address."
msgstr ""
"Cuando está desactivado, los correos de este contexto usarán la dirección de "
"Responder a predeterminada."
#: replyto.php:832
#: replyto.php:835
msgid "Reply-To Email Address"
msgstr "Dirección de correo de respuesta"
#: replyto.php:842
#: replyto.php:845
msgid "Enter the email address where replies should be sent."
msgstr "Introduzca la dirección de correo a la que se enviarán las respuestas."
#: replyto.php:849
#: replyto.php:852
msgid "Reply-To Display Name (Optional)"
msgstr "Nombre para mostrar de respuesta (opcional)"
#: replyto.php:859
msgid "Optional: Enter a name to display with the email (e.g., \"Support Team\")."
msgstr "Opcional: introduzca un nombre para mostrar junto al correo (p.&nbsp;ej., «Equipo de soporte»)."
#: replyto.php:862
msgid ""
"Optional: Enter a name to display with the email (e.g., \"Support Team\")."
msgstr ""
"Opcional: introduzca un nombre para mostrar junto al correo (p.&nbsp;ej., "
"«Equipo de soporte»)."
#: replyto.php:868
#: replyto.php:871
msgid "Note:"
msgstr "Nota:"
#: replyto.php:869
msgid "The Default context is always active and acts as a fallback for all emails."
msgstr "El contexto predeterminado siempre está activo y actúa como alternativa para todos los correos."
#: replyto.php:872
msgid ""
"The Default context is always active and acts as a fallback for all emails."
msgstr ""
"El contexto predeterminado siempre está activo y actúa como alternativa para "
"todos los correos."
#: replyto.php:895
#: replyto.php:898
msgid "Save Settings"
msgstr "Guardar ajustes"

View file

@ -2,14 +2,14 @@
# This file is distributed under the GPL-3.0-or-later.
msgid ""
msgstr ""
"Project-Id-Version: Reply-To for WP_Mail 2.0.2\n"
"Project-Id-Version: Reply-To for WP_Mail 2.0.3\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/replyto\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2026-06-05T11:22:01+00:00\n"
"POT-Creation-Date: 2026-08-18T11:23:15+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.12.0\n"
"X-Domain: replyto\n"
@ -19,6 +19,11 @@ msgstr ""
msgid "Reply-To for WP_Mail"
msgstr ""
#. Plugin URI of the plugin
#: replyto.php
msgid "https://www.robotstxt.software/plugins/replyto/"
msgstr ""
#. Description of the plugin
#: replyto.php
msgid "Configure your \"Reply-To:\" for WP_Mail with validation, admin settings, and context-based routing."
@ -31,182 +36,182 @@ msgstr ""
#. Author URI of the plugin
#: replyto.php
msgid "https://www.robotstxt.es/"
msgid "https://www.robotstxt.software/"
msgstr ""
#: replyto.php:391
#: replyto.php:394
msgid "WP Mail Reply-To Settings"
msgstr ""
#: replyto.php:392
#: replyto.php:395
msgid "Reply-To"
msgstr ""
#: replyto.php:492
#: replyto.php:706
#: replyto.php:495
#: replyto.php:709
msgid "Default"
msgstr ""
#: replyto.php:493
#: replyto.php:496
msgid "Authentication"
msgstr ""
#: replyto.php:494
#: replyto.php:497
msgid "Comments"
msgstr ""
#: replyto.php:495
#: replyto.php:498
msgid "Users"
msgstr ""
#: replyto.php:496
#: replyto.php:499
msgid "System"
msgstr ""
#: replyto.php:501
#: replyto.php:735
#: replyto.php:504
#: replyto.php:738
msgid "WooCommerce"
msgstr ""
#. translators: %s: context name
#: replyto.php:526
#: replyto.php:529
#, php-format
msgid "Invalid email address for %s context."
msgstr ""
#. translators: %s: context name
#: replyto.php:542
#: replyto.php:545
#, php-format
msgid "Warning: The email domain for %s context does not appear to have valid DNS records."
msgstr ""
#. translators: %s: context name
#: replyto.php:557
#: replyto.php:567
#: replyto.php:560
#: replyto.php:570
#, php-format
msgid "Name for %s context was truncated to 255 characters."
msgstr ""
#: replyto.php:608
#: replyto.php:611
msgid "Reply-To configuration updated successfully."
msgstr ""
#: replyto.php:707
#: replyto.php:710
msgid "Default Reply-To used for all emails that do not match a specific context. This is the fallback when other contexts are not configured."
msgstr ""
#: replyto.php:708
#: replyto.php:711
msgid "Newsletter confirmations, general notifications, and any emails not covered by other contexts."
msgstr ""
#: replyto.php:711
#: replyto.php:714
msgid "Authentication & Security"
msgstr ""
#: replyto.php:712
#: replyto.php:715
msgid "Reply-To for password resets, password changes, and email address changes."
msgstr ""
#: replyto.php:713
#: replyto.php:716
msgid "Password reset requests, password change confirmations, email address verifications."
msgstr ""
#: replyto.php:716
#: replyto.php:719
msgid "Comments & Moderation"
msgstr ""
#: replyto.php:717
#: replyto.php:720
msgid "Reply-To for comment notifications and moderation alerts."
msgstr ""
#: replyto.php:718
#: replyto.php:721
msgid "New comment notifications, comment moderation alerts, comment replies."
msgstr ""
#: replyto.php:721
#: replyto.php:724
msgid "Users & Registration"
msgstr ""
#: replyto.php:722
#: replyto.php:725
msgid "Reply-To for new user registrations, role changes, and user management emails."
msgstr ""
#: replyto.php:723
#: replyto.php:726
msgid "New user welcome emails, user role changes, account activations."
msgstr ""
#: replyto.php:726
#: replyto.php:729
msgid "System & Updates"
msgstr ""
#: replyto.php:727
#: replyto.php:730
msgid "Reply-To for automatic updates, system alerts, and critical site health notifications."
msgstr ""
#: replyto.php:728
#: replyto.php:731
msgid "WordPress core updates, plugin updates, theme updates, recovery mode, fatal error notifications."
msgstr ""
#: replyto.php:736
#: replyto.php:739
msgid "Reply-To for WooCommerce order notifications, invoices, and customer communications."
msgstr ""
#: replyto.php:737
#: replyto.php:740
msgid "Order confirmations, shipping notifications, invoices, customer notes."
msgstr ""
#: replyto.php:751
#: replyto.php:754
msgid "Configure different Reply-To addresses based on the type of email being sent. Each context can have its own email address and display name."
msgstr ""
#: replyto.php:789
#: replyto.php:792
msgid "Active with email configured"
msgstr ""
#: replyto.php:790
#: replyto.php:793
msgid "Inactive or no email configured"
msgstr ""
#: replyto.php:806
#: replyto.php:809
msgid "What this context covers:"
msgstr ""
#: replyto.php:808
#: replyto.php:811
msgid "Examples:"
msgstr ""
#: replyto.php:819
#: replyto.php:822
msgid "Enable this context"
msgstr ""
#: replyto.php:822
#: replyto.php:825
msgid "When disabled, emails in this context will use the Default Reply-To address."
msgstr ""
#: replyto.php:832
#: replyto.php:835
msgid "Reply-To Email Address"
msgstr ""
#: replyto.php:842
#: replyto.php:845
msgid "Enter the email address where replies should be sent."
msgstr ""
#: replyto.php:849
#: replyto.php:852
msgid "Reply-To Display Name (Optional)"
msgstr ""
#: replyto.php:859
#: replyto.php:862
msgid "Optional: Enter a name to display with the email (e.g., \"Support Team\")."
msgstr ""
#: replyto.php:868
#: replyto.php:871
msgid "Note:"
msgstr ""
#: replyto.php:869
#: replyto.php:872
msgid "The Default context is always active and acts as a fallback for all emails."
msgstr ""
#: replyto.php:895
#: replyto.php:898
msgid "Save Settings"
msgstr ""

View file

@ -1,11 +1,11 @@
=== Reply-To for WP_Mail ===
Contributors: javiercasares
Contributors: robotstxt, javiercasares
Tags: email, reply-to, mail, smtp
Requires at least: 3.6
Requires at least: 4.7
Tested up to: 7.1
Stable tag: 2.0.2
Stable tag: 2.0.3
Requires PHP: 5.6
Version: 2.0.2
Version: 2.0.3
License: GPL-3.0-or-later
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
@ -52,11 +52,43 @@ Yes. Each site in a Multisite network maintains its own configuration. On uninst
== Compatibility ==
* WordPress: 3.6 - 7.1
* WordPress: 4.7 - 7.1
* PHP: 5.6 - 8.5
== Changelog ==
= 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).
* 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 (PHPCS, WPCS, PHPStan, PHPUnit).
**Added**
* bin/preflight.sh automated pre-deploy verification script.
* WordPress floor verification (wp-compat) integrated into PHPStan analysis.
**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_
@ -125,48 +157,21 @@ _Release date: 2026-06-05_
* 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**
* Six email contexts: Default, Authentication, Comments, Users, System, WooCommerce.
* Modern tabbed admin interface with visual status indicators.
* Reply-To display name field with header injection prevention.
* Automatic migration from v1.0.x settings.
* uninstall.php for clean data removal.
**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
= Previous versions =
If you want to see the full changelog, visit the [changelog.txt](https://git.robotstxt.es/ROBOTSTXT/replyto-dev/raw/branch/main/changelog.txt) file.
If you want to see the full changelog, visit the [changelog](https://www.robotstxt.software/plugins/replyto/changelog/) page.
== Upgrade Notice ==
= 2.0.3 =
Housekeeping release: branding URLs moved to robotstxt.software. Minimum WordPress version is now 4.7.
= 2.0.2 =
Translations added for Spanish (Spain) and Catalan. WordPress minimum corrected to 3.6. Upgrade recommended.
= 2.0.1 =
Bugfix release. Fixes context isolation between emails, duplicate Reply-To headers, and migration on WP-CLI. Upgrade recommended.
= 2.0.0 =
Major release. Your existing Reply-To setting is automatically migrated to the new Default context — no manual action required.
== Compliance ==
This plugin adheres to the following security measures and review protocols for each version:

View file

@ -2,11 +2,12 @@
/**
* Plugin Name: Reply-To for WP_Mail
* Description: Configure your "Reply-To:" for WP_Mail with validation, admin settings, and context-based routing.
* Requires at least: 3.6
* Plugin URI: https://www.robotstxt.software/plugins/replyto/
* Requires at least: 4.7
* Requires PHP: 5.6
* Version: 2.0.2
* Version: 2.0.3
* Author: ROBOTSTXT
* Author URI: https://www.robotstxt.es/
* Author URI: https://www.robotstxt.software/
* License: GPL-3.0-or-later
* License URI: https://www.gnu.org/licenses/gpl-3.0.txt
* Text Domain: replyto
@ -14,7 +15,7 @@
*
* @package replyto
*
* @version 2.0.2
* @version 2.0.3
*/
defined( 'ABSPATH' ) || die( 'No script kiddies please!' );
@ -384,6 +385,8 @@ add_filter( 'wp_mail', 'wp_mail_replyto' );
* Adds a new page under the "Settings" menu where administrators can configure
* the "Reply-To" email address used in outgoing emails.
*
* @since 1.3.0
*
* @return void
*/
function wp_mail_replyto_add_settings_page() {
@ -626,7 +629,7 @@ function wp_mail_replyto_admin_styles( $hook ) {
return;
}
wp_register_style( 'replyto-admin', false, array(), '2.0.2' );
wp_register_style( 'replyto-admin', false, array(), '2.0.3' );
wp_enqueue_style( 'replyto-admin' );
wp_add_inline_style(
'replyto-admin',