Qué hace
WordPress entrega cada correo a la propia función mail() del servidor, que no está autenticada. Los buzones tratan ese correo como sospechoso y, cuando se rechaza, nadie se entera: wp_mail() devuelve false, la página sigue adelante y el restablecimiento de contraseña o la confirmación del pedido simplemente desaparece.
MevvMail sustituye esa ruta. Envía a través de una conexión autenticada que usted configura, recorre una lista de conexiones por orden de prioridad hasta que una acepta el mensaje, reintenta las que fallan y muestra el estado de entrega de un pedido de WooCommerce en la propia pantalla del pedido.
- Úselo cuando
- Su tienda envía correos de pedido, de cuenta o de factura y necesita poder responder a “¿salió?” con un registro en lugar de una suposición.
- No cambia nada hasta que usted lo configura
- Sin ninguna conexión definida, el filtro devuelve el envío directamente a WordPress. Activar el plugin nunca toma el control silenciosamente de una ruta de correo que funciona.
- No es un servicio de envío
- MevvMail no revende entrega y no tiene cuota propia. Usted aporta su propio servidor SMTP o su propia cuenta de proveedor, y el plugin la usa.
Requisitos: WordPress 6.0 o superior y PHP 8.1 o superior. WooCommerce es opcional — sin él todo funciona igual y solo falta la caja de pedido.
Instalación
- Instale el plugin gratuito MevvMail: suba el zip desde Plugins → Añadir nuevo, o copie el directorio
mevvmaildentro de/wp-content/plugins/. - Actívelo. Todavía no se ha tomado el control de nada.
- Abra MevvMail → Conexiones y añada su primera conexión.
- Pulse Enviar correo de prueba y confirme que el mensaje llega.
- Opcional pero recomendable: añada una segunda conexión de menor prioridad como respaldo.
- Solo si quiere las superficies Pro: instale MevvMail Pro como un segundo plugin y active su licencia MEVM en MevvMail → Licencia.
Mantenga activo el plugin gratuito cuando Pro esté instalado. La entrega, el failover y el registro viven en el plugin gratuito, de modo que una licencia caducada nunca impide que su tienda envíe correo.
Conexiones
Una conexión es una vía de salida de su sitio. Hay diez tipos disponibles y todos están en el plugin gratuito, sin ninguna función retenida y sin ningún límite de envío impuesto por nosotros.
Los campos de la pantalla
- Nombre
- Su propia etiqueta para la conexión. Es lo que el registro muestra en la columna Conexión, así que póngale un nombre que reconozca a las tres de la madrugada.
- Proveedor
- Elija el tipo. El resto del formulario cambia con él: SMTP pide un servidor, un puerto, cifrado y credenciales, mientras que un proveedor por API pide una clave y, en Mailgun y SparkPost, una región.
- Prioridad
- Un número. La cadena se recorre desde la prioridad más baja hacia arriba, así que su conexión principal lleva el número más pequeño y el respaldo uno mayor.
- Nombre del remitente y dirección del remitente
- El remitente con el que sale el mensaje. Use una dirección de un dominio cuyos registros SPF, DKIM y DMARC apunten al proveedor a través del que envía, o el buzón seguirá desconfiando de un correo perfectamente entregado.
- Forzar este remitente en todos los correos
- Desactivado por defecto. Cuando está activado, esta conexión sobrescribe el remitente que llevara el mensaje. Es útil cuando un plugin envía con una dirección que su proveedor no autoriza; es perjudicial si de verdad depende de remitentes distintos por plugin.
- Activa
- La cadena salta una conexión inactiva y esta permanece en la pantalla. Así se retira un proveedor del servicio sin perder sus ajustes.
Los secretos guardados nunca se vuelven a imprimir en el formulario. Los campos de contraseña y de clave API muestran “Guardado — déjelo en blanco para conservarlo”: escriba un valor solo cuando lo esté sustituyendo.
Pruébela antes de confiar en ella
Enviar correo de prueba envía un mensaje real a través de esa única conexión y escribe el resultado en el registro como cualquier otro envío. Si falla, el registro lleva la respuesta del propio proveedor — que casi siempre es la frase que le dice qué está mal.
La cadena, y qué ocurre cuando falla
Cuando WordPress produce un correo, MevvMail recorre sus conexiones por orden de prioridad y se detiene en la primera que acepta el mensaje. Un proveedor con límite de frecuencia, sin cuota o caído le cuesta un intento, no el correo. Todo el recorrido se guarda como una sola entrada del registro, no una por conexión: un único correo no debería leerse como tres fallos separados.
Cuando todas las conexiones han rechazado el mensaje, la entrada se registra como fallida y se pone en cola para reintentarla. Se intenta tres veces más — al cabo de un minuto, cinco minutos y treinta minutos — y ahí se detiene. Una dirección que no existe no va a empezar a existir en el cuadragésimo intento.
Los reintentos se programan con WP-Cron, que solo se ejecuta cuando alguien visita el sitio. En un sitio tranquilo, un reintento puede producirse más tarde del minuto para el que estaba programado. Si eso le importa, pase a un cron real del servidor de la forma habitual — DISABLE_WP_CRON en wp-config.php más una llamada a wp-cron.php desde crontab. No hay que cambiar nada en MevvMail para eso.
Una cadena que merece la pena
- Dos conexiones en dos proveedores distintos le protegen del mal día de un proveedor. Dos conexiones en el mismo proveedor, no.
- Mantenga una conexión SMTP en la cadena, o los correos que llevan archivos adjuntos no tendrán a dónde ir (véase más abajo).
- PHP
mail()es un último recurso razonable pero una mala primera opción: es la ruta sin autenticar que el plugin existe para sustituir.
El registro de correo
Cada intento se guarda en una tabla de su propia base de datos. Nada de su correo se nos envía — no hay telemetría, ni analítica, ni análisis de contenido en ninguna parte del plugin.
- Qué se guarda
- La hora, los destinatarios, el asunto, el estado, la conexión que lo gestionó, la parte del sitio que lo produjo, la respuesta del propio proveedor y el número de intentos.
- Filtros
- Por estado (enviado, fallido, pendiente), por origen y por fecha. Los tres juntos suelen ser toda la investigación de un caso de soporte.
- Origen
- Un mensaje puede llevar una etiqueta que indica qué plugin lo produjo — un formulario, un correo de recuperación, una notificación de WooCommerce. La etiqueta se guarda en su propia columna y se retira del mensaje antes de que salga, así que nunca llega a la persona que recibe el correo.
- Reenviar
- Cualquier entrada puede enviarse de nuevo desde la lista. Vuelve a entrar en la cadena desde el principio, así que se usa una conexión que entretanto se haya arreglado.
- Guardar el cuerpo del correo
- Activado por defecto. Desactívelo y el registro conservará solo las cabeceras. Una entrada así podrá inspeccionarse pero no reenviarse — y un envío que falla tampoco se pone en cola para la escalera de reintentos, porque en ambos casos no se guardó nada que enviar.
- Conservar las entradas del registro durante
- 7, 30, 90 días o para siempre. Las entradas más antiguas se eliminan de forma programada.
El registro puede contener datos personales — direcciones, asuntos y, si deja el ajuste activado, los cuerpos de los mensajes. Revise el ajuste de conservación y la opción del cuerpo frente a sus propias obligaciones antes de pasar a producción, igual que haría con cualquier otro registro de su tienda.
Desinstalación
Borrar el plugin no toca su registro ni sus ajustes. Hay una única casilla de aceptación en la pantalla de Ajustes — Eliminar también la tabla del registro y todos los ajustes cuando se borre el plugin — y está desactivada por defecto, porque la lectura destructiva de “desinstalar” nunca debería ser la que le toque por accidente.
Archivos adjuntos
En la versión 1.0.0 los archivos adjuntos viajan solo por SMTP. Los ocho proveedores por API no los envían, y este es un límite deliberado y no un fallo: cada una de esas API quiere el archivo con una forma distinta, y publicar ocho codificadores probados a medias no merecía la pena.
- Un correo que lleva un archivo salta de forma permanente las conexiones por API y busca una SMTP en la cadena.
- Con una conexión SMTP configurada, las facturas, los tickets y los PDF salen con normalidad.
- Sin ninguna conexión SMTP configurada, un correo así se registra como fallido en lugar de entregarse sin su archivo — una entrega silenciosa sin la factura sería peor que un fallo visible.
La regla práctica ocupa una línea: mantenga una conexión SMTP en la cadena, haya lo que haya además.
Pedidos de WooCommerce
Con WooCommerce activo, cada pantalla de pedido gana una caja que lista los correos que ese pedido produjo y el estado de entrega de cada uno. La pregunta “¿recibió el cliente la confirmación?” se responde sobre el pedido en lugar de buscando en un registro.
El registro también guarda qué correo de WooCommerce era el mensaje, de modo que un reintento que ocurre media hora después sigue sabiendo qué está enviando — y, con una licencia Pro, qué regla de enrutado y qué línea de asunto le corresponden.
MevvMail funciona exactamente igual en un sitio sin WooCommerce. Simplemente no está la caja de pedido.
Qué añade una licencia Pro
Todo lo anterior está en el plugin gratuito: diez tipos de conexión, la cadena de failover, la escalera de reintentos, el registro, el reenvío y la caja de pedido de WooCommerce. Pro es un plugin aparte que añade profundidad de WooCommerce sobre la entrega.
- Diseñador de correos de WooCommerce
- Un logotipo, un color base, un color de fondo, el texto del pie y una línea de asunto por tipo de correo, con una vista previa del diseño guardado. El diseño lo aplica el plugin gratuito, así que sobrevive a que se desactive la licencia.
- Seguimiento de aperturas
- Un píxel opcional de 1×1 servido por su propio sitio, guardado como una única marca de tiempo en la columna Abierto del registro. Desactivado por defecto. No se recoge ninguna dirección IP, ni cliente de correo, ni referente, ni ubicación, ni dispositivo, ni número de aperturas, y no se muestra ninguna tasa de apertura en ninguna parte.
- Alertas de fallo
- Un correo o un webhook por incidencia, después del número de fallos consecutivos que usted elija. La alerta sale por la propia ruta de correo del servidor — así puede llegarle incluso cuando lo que está roto son sus conexiones — y no lleva ningún destinatario, asunto ni cuerpo del mensaje fallido.
- Enrutado condicional
- Las reglas sobre la etiqueta de origen o el tipo de correo de WooCommerce llevan una conexión al principio de la cadena. La cadena nunca se estrecha, así que el failover sigue funcionando, y la regla también coincide en un reintento retrasado.
La licencia se activa en MevvMail → Licencia con una clave que empieza por MEVM. Si caduca, el diseñador, el seguimiento, las alertas y el enrutado se detienen; la entrega, el failover y el registro siguen adelante, porque nunca fueron algo que Pro pudiera retener.
El seguimiento de aperturas es un indicio, no una medición. Un buzón que bloquea las imágenes o un proxy que las cachea deja el píxel mudo o lo dispara antes de tiempo. Por eso solo se conserva la primera apertura, y por eso el producto no muestra ninguna tasa de apertura.
Qué sale de su servidor
Dos cosas, y las dos están listadas aquí.
- Su correo, al proveedor que haya configurado. Remitente, destinatarios, asunto, cuerpo, cualquier Reply-To y cabeceras personalizadas, y su propia clave API para que el proveedor pueda autenticarle. MevvMail no añade nada — ninguna dirección del sitio, ningún dato de usuario, ningún identificador nuestro — y no se envía nada a ningún proveedor hasta que usted crea una conexión de ese tipo.
- Una comprobación de actualizaciones. Dos valores, el slug del plugin y el número de versión instalada, enviados a
https://mevvsoft.com/api/v1/license/free-updatecuando WordPress ejecuta su propia comprobación de actualizaciones y la respuesta en caché tiene más de doce horas. Ninguna dirección del sitio, ninguna dirección de correo, ninguna clave de licencia, ninguna lista de plugins, ninguna estadística de uso. La respuesta va firmada y una sin firmar se descarta. La copia distribuida a través del Directorio de Plugins de WordPress no contiene siquiera el archivo del actualizador.
El editor no recibe de este plugin ningún contenido de correo, ninguna dirección de destinatario, ningún registro y ninguna analítica. El registro es una tabla de su propia base de datos, y usted decide cuánto tiempo se conserva y si se conservan siquiera los cuerpos de los mensajes.
Resolución de problemas
- El registro dice enviado, pero no llegó
- “Enviado” significa que la conexión aceptó el mensaje, no que el buzón lo colocara en la bandeja de entrada. Mire en el spam y compruebe después que la dirección del remitente está en un dominio cuyos registros SPF, DKIM y DMARC autorizan al proveedor a través del que envía. La mayor parte del correo que desaparece en esta fase es autenticación, no entrega.
- Todo falla en la primera conexión
- Abra la entrada y lea la respuesta del propio proveedor: se guarda junto con el intento. Un puerto equivocado y un cifrado equivocado, una clave caducada y un remitente que el proveedor no autoriza explican la mayoría de los casos.
- Un correo con un archivo adjunto falló
- Compruebe si su cadena contiene una conexión SMTP. Sin ella, un correo que lleva un archivo se registra como fallido a propósito.
- Los reintentos no ocurren nunca
- Dos causas. WP-Cron solo se ejecuta cuando alguien visita el sitio, así que en un sitio tranquilo el reintento espera al tráfico — o pase a un cron real del servidor. La otra es “Guardar el cuerpo del correo”: con esa opción desactivada no hay nada con lo que reintentar, y la entrada fallida se deja en paz a propósito.
- El botón Reenviar no hizo nada
- Esa entrada se registró sin su cuerpo, así que no hay nada que enviar. Vuelva a activar “Guardar el cuerpo del correo” para las entradas que quizá quiera reenviar.
- Faltan las pantallas Pro
- Compruebe que el plugin gratuito está activo, que el plugin Pro está activo y que la licencia está activada. Los tres son necesarios, y la pantalla de licencia dice cuál no se cumple.
Cuando nos escriba, envíe las versiones de los plugins, las versiones de WordPress y PHP, el tipo de conexión y el texto exacto de la respuesta del proveedor tal como aparece en la entrada del registro. Quite antes las direcciones de los clientes y el cuerpo del mensaje; esa respuesta casi siempre basta por sí sola.