Email address verification
El doble opt-in confirma que el correo electrónico proporcionado pertenece realmente a la persona que crea la cuenta. Polski for WooCommerce envía un enlace de activación y bloquea el inicio de sesión hasta que se hace clic en dicho enlace.
Por qué usar el doble opt-in
Section titled “Por qué usar el doble opt-in”La ley polaca no exige el doble opt-in, pero conviene activarlo por:
- RGPD - confirmas la identidad del propietario del correo electrónico
- Protección contra bots - bloquea las cuentas falsas
- Calidad de la base de datos - tienes la seguridad de que los correos electrónicos son reales
- Capacidad de entrega - menos mensajes rebotados y marcados como spam
- Ley de servicios electrónicos - confirmación de la intención de usar el servicio
Configuración
Section titled “Configuración”Ve a WooCommerce > Ajustes > Polski > Finalizar compra y configura la sección “Verificación de correo electrónico”.
Ajustes básicos
Section titled “Ajustes básicos”| Ajuste | Valor predeterminado | Descripción |
|---|---|---|
| Activar verificación de correo electrónico | No | Activa el mecanismo de doble opt-in |
| Periodo de validez del enlace | 48 horas | Cuánto tiempo está activo el enlace de activación |
| Eliminar automáticamente no verificadas | 7 días | Tras cuántos días eliminar las cuentas no verificadas |
| Permitir compras sin verificación | No | Si un usuario no verificado puede realizar pedidos |
Ajustes avanzados
Section titled “Ajustes avanzados”| Ajuste | Descripción |
|---|---|
| Redirección tras la activación | URL a la que se redirige al usuario tras hacer clic en el enlace |
| Página de espera | Página que se muestra en lugar de “Mi cuenta” para los usuarios no verificados |
| Reenviar enlace | Si se muestra un botón “Reenviar enlace de activación” |
| Límite de reenvíos | Número máximo de reenvíos del enlace (protección contra abusos) |
Proceso de verificación
Section titled “Proceso de verificación”Paso a paso
Section titled “Paso a paso”- El cliente registra una cuenta (a través de “Mi cuenta” o al realizar un pedido)
- El plugin genera un token de activación y lo guarda en la base de datos
- Se envía un correo electrónico con un enlace de activación a la dirección proporcionada
- La cuenta tiene el estado “no verificada” - el inicio de sesión está bloqueado
- El cliente hace clic en el enlace de activación del correo electrónico
- El plugin verifica el token, activa la cuenta e inicia la sesión del usuario
- El cliente es redirigido a la página “Mi cuenta” o a la URL configurada
Registro al realizar un pedido
Section titled “Registro al realizar un pedido”Si la opción “Permitir compras sin verificación” está desactivada:
- el pedido no se realizará hasta que el cliente verifique el correo electrónico
- el cliente verá un mensaje con instrucciones para revisar su bandeja de entrada
Si la opción está activada:
- el pedido se realizará con normalidad
- la cuenta requerirá verificación en el siguiente inicio de sesión
- el correo electrónico de activación se enviará en paralelo con la confirmación del pedido
Bloqueo de inicio de sesión
Section titled “Bloqueo de inicio de sesión”Los usuarios no verificados no pueden iniciar sesión. Ven un mensaje:
“Tu cuenta aún no ha sido verificada. Revisa tu bandeja de entrada de correo electrónico y haz clic en el enlace de activación. [Reenviar enlace]“
Configuración del mensaje de bloqueo
Section titled “Configuración del mensaje de bloqueo”Cambia el mensaje en los ajustes del plugin. Variables disponibles:
| Variable | Descripción |
|---|---|
{email} | Dirección de correo electrónico del usuario |
{resend_link} | Enlace para reenviar el correo electrónico de activación |
{expiry} | Periodo de validez del enlace |
Ejemplo de mensaje personalizado:
La cuenta {email} requiere verificación. Haz clic en el enlace del correo electrónico que enviamos.¿No has recibido el mensaje? {resend_link}Configuración del correo electrónico
Section titled “Configuración del correo electrónico”Plantilla del correo electrónico de activación
Section titled “Plantilla del correo electrónico de activación”El plugin añade un nuevo tipo de correo electrónico en WooCommerce > Ajustes > Correos electrónicos > Verificación de la dirección de correo electrónico.
Ajustes disponibles:
| Ajuste | Descripción |
|---|---|
| Activar/desactivar | Activa el envío del correo electrónico |
| Asunto | Asunto del mensaje (predeterminado: “Confirma tu dirección de correo electrónico”) |
| Encabezado | Encabezado en el cuerpo del correo electrónico |
| Contenido | Texto adicional sobre el enlace de activación |
| Tipo de correo electrónico | HTML o texto plano |
Variables de la plantilla
Section titled “Variables de la plantilla”| Variable | Descripción |
|---|---|
{site_title} | Nombre de la tienda |
{customer_name} | Nombre del cliente |
{activation_link} | Enlace de activación (URL completa) |
{activation_button} | Botón de activación (HTML) |
{expiry_hours} | Periodo de validez del enlace en horas |
Sobrescribir la plantilla del correo electrónico
Section titled “Sobrescribir la plantilla del correo electrónico”Para personalizar la plantilla HTML, copia el archivo:
wp-content/plugins/polski/templates/emails/email-verification.phpa:
wp-content/themes/tu-tema/woocommerce/emails/email-verification.phpExtensiones programáticas
Section titled “Extensiones programáticas”Hook antes de la verificación
Section titled “Hook antes de la verificación”add_action('polski/email_verification/before_verify', function (int $user_id, string $token): void { // Lógica antes de la activación de la cuenta // p. ej. registro de eventos error_log(sprintf('Email verification for user #%d', $user_id));}, 10, 2);Hook después de la verificación
Section titled “Hook después de la verificación”add_action('polski/email_verification/verified', function (int $user_id): void { // Lógica después de la activación de la cuenta // p. ej. asignación de rol, correo electrónico de bienvenida $user = new WP_User($user_id); $user->set_role('customer');}, 10, 1);Filtro de la URL de redirección
Section titled “Filtro de la URL de redirección”add_filter('polski/email_verification/redirect_url', function (string $url, int $user_id): string { return wc_get_page_permalink('myaccount') . 'edit-account/';}, 10, 2);Filtro del periodo de validez del token
Section titled “Filtro del periodo de validez del token”add_filter('polski/email_verification/token_expiry', function (int $hours): int { return 72; // 72 horas en lugar de las 48 predeterminadas});Comprobación del estado de verificación
Section titled “Comprobación del estado de verificación”$is_verified = get_user_meta($user_id, '_polski_email_verified', true);
if ($is_verified !== 'yes') { // Cuenta no verificada}Protección contra abusos
Section titled “Protección contra abusos”Limitación de reenvíos
Section titled “Limitación de reenvíos”El plugin permite reenviar el enlace de activación un máximo de 5 veces por hora por cada correo electrónico. Cambia el límite en los ajustes.
Protección de tokens
Section titled “Protección de tokens”- Los tokens se generan mediante
wp_generate_password(32, false)- criptográficamente seguros - Cada token solo puede usarse una vez
- Los tokens caducan tras el tiempo configurado
- Los tokens caducados se eliminan automáticamente mediante WP-Cron
Problemas frecuentes
Section titled “Problemas frecuentes”El correo electrónico de activación no llega
Section titled “El correo electrónico de activación no llega”- Revisa la carpeta de spam/correo no deseado
- Verifica la configuración SMTP (recomendado: WP Mail SMTP o un plugin similar)
- Revisa los registros de correo electrónico en WooCommerce > Estado > Registros
- Asegúrate de que el correo electrónico no esté bloqueado por el servidor de correo
El enlace de activación no funciona
Section titled “El enlace de activación no funciona”- Comprueba si el enlace ha caducado (48 horas por defecto)
- Verifica que el enlace permanente de WordPress esté correctamente configurado
- Comprueba si un plugin de seguridad está bloqueando la URL con el token
El cliente verificó el correo electrónico pero no puede iniciar sesión
Section titled “El cliente verificó el correo electrónico pero no puede iniciar sesión”- Comprueba si el meta
_polski_email_verifiedtiene el valoryesen el perfil del usuario - Verifica que otro plugin no esté bloqueando el inicio de sesión
- Comprueba si la cuenta ha sido marcada como spam por el sistema antispam