Saltar al contenido
Docs

Tutorial

Enviar el correo de WordPress con Emailit

Envía el correo de WordPress, WooCommerce y los formularios de contacto a través del SMTP de Emailit con WP Mail SMTP o con un pequeño plugin, usando una clave de API como contraseña.

Actualizado el 1 oct 2026

WordPress envía los restablecimientos de contraseña, los pedidos de WooCommerce y los mensajes de los formularios de contacto con wp_mail(), que por defecto usa la configuración de correo del servidor y a menudo acaba en spam. En esta guía se envía ese correo a través del SMTP relay de Emailit, con el plugin WP Mail SMTP o con unas pocas líneas de código.

Requisitos previos

  • Acceso de administrador a tu sitio WordPress.
  • Un dominio de envío verificado, por ejemplo acme.com. La dirección del remitente de tu sitio debe usarlo.
  • Una clave de API. Crea una clave Sending Only limitada a tu dominio, con un nombre como wordpress-acme, para que, si se filtra la configuración de un plugin, no pueda usarse para nada más.
  • Hasta que tu espacio de trabajo tenga acceso de producción, solo puedes enviar a las direcciones de email de las cuentas de los miembros del espacio de trabajo. Haz las pruebas con tu propia dirección.

Configuración SMTP

Estos son los valores que debes introducir en cualquier plugin SMTP:

Ajuste Valor
Host SMTP smtp.emailit.com
Cifrado TLS (STARTTLS)
Puerto SMTP 587
Autenticación Activada
Usuario SMTP emailit
Contraseña SMTP Tu clave de API (secret_…)
Email del remitente Una dirección de tu dominio verificado, por ejemplo hello@acme.com

Si tu proveedor de hosting bloquea el puerto 587, usa 2525 o 2587 con TLS, o 465 con SSL. Consulta Configuración SMTP.

Configurar WP Mail SMTP

WP Mail SMTP es un plugin gratuito que sustituye el transporte de correo de WordPress. Otros plugins SMTP, como FluentSMTP o Post SMTP, usan la misma configuración con etiquetas algo distintas.

  1. Instala el plugin. En WordPress, ve a Plugins > Add New, busca WP Mail SMTP y después instálalo y actívalo. Si se abre el asistente de configuración, sáltalo; puedes configurarlo todo en la página de ajustes.

  2. Define el remitente. Abre los ajustes del plugin. En From Email, introduce una dirección de tu dominio verificado y activa Force From Email para que todos los plugins envíen desde esa dirección. En From Name, introduce el nombre de tu sitio o de tu empresa.

  3. Elige Other SMTP. En Mailer, elige Other SMTP.

  4. Introduce el servidor. Define SMTP Host como smtp.emailit.com, Encryption como TLS y SMTP Port como 587. Deja activado Auto TLS.

  5. Introduce las credenciales. Activa Authentication. Define SMTP Username como emailit y SMTP Password como tu clave de API. Guarda los ajustes.

  6. Envía una prueba. Usa la herramienta Email Test del plugin para enviar un mensaje a tu propia dirección. Aparece en Email APIEmails en unos segundos.

Mantener la clave fuera de la base de datos

WP Mail SMTP puede leer sus ajustes de constantes, así que la clave de API se guarda en wp-config.php en lugar de en la base de datos. Añade estas líneas encima de /* That's all, stop editing! */:

wp-config.php
define( 'WPMS_ON', true );
define( 'WPMS_MAILER', 'smtp' );
define( 'WPMS_SMTP_HOST', 'smtp.emailit.com' );
define( 'WPMS_SMTP_PORT', 587 );
define( 'WPMS_SSL', 'tls' );
define( 'WPMS_SMTP_AUTH', true );
define( 'WPMS_SMTP_AUTOTLS', true );
define( 'WPMS_SMTP_USER', 'emailit' );
define( 'WPMS_SMTP_PASS', 'secret_••••••••••••••••••••••••••••••••' );
define( 'WPMS_MAIL_FROM', 'hello@acme.com' );
define( 'WPMS_MAIL_FROM_FORCE', true );
define( 'WPMS_MAIL_FROM_NAME', 'Acme' );

A partir de ese momento, la página de ajustes muestra estos valores bloqueados. Si un campo no toma el valor de su constante, consulta la documentación del plugin.

Configurar sin plugin

Si prefieres no instalar un plugin, añade un plugin must-use que configure el PHPMailer integrado de WordPress. Define la clave en wp-config.php:

wp-config.php
define( 'EMAILIT_API_KEY', 'secret_••••••••••••••••••••••••••••••••' );

Después, crea este archivo:

wp-content/mu-plugins/emailit-smtp.php
<?php
/**
 * Plugin Name: Emailit SMTP
 * Description: Sends all WordPress email through the Emailit SMTP relay.
 */

add_action( 'phpmailer_init', function ( $phpmailer ) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = 'smtp.emailit.com';
    $phpmailer->Port       = 587;
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->SMTPAuth   = true;
    $phpmailer->Username   = 'emailit';
    $phpmailer->Password   = EMAILIT_API_KEY;
} );

add_filter( 'wp_mail_from', fn () => 'hello@acme.com' );
add_filter( 'wp_mail_from_name', fn () => 'Acme' );

Los archivos de mu-plugins se cargan automáticamente y no se pueden desactivar desde el panel de administración.

Recibir webhooks

La mayoría de los sitios no necesitan webhooks. Si quieres reaccionar a los rebotes o a las quejas, por ejemplo para marcar la dirección de un cliente de WooCommerce, registra una ruta REST y verifica la firma. Guarda el secreto de firma del webhook en wp-config.php como EMAILIT_WEBHOOK_SECRET:

wp-content/mu-plugins/emailit-webhooks.php
<?php
add_action( 'rest_api_init', function () {
    register_rest_route( 'emailit/v1', '/webhook', [
        'methods'             => 'POST',
        'permission_callback' => '__return_true',
        'callback'            => function ( WP_REST_Request $request ) {
            $payload   = $request->get_body();
            $timestamp = (string) $request->get_header( 'x-emailit-timestamp' );
            $signature = (string) $request->get_header( 'x-emailit-signature' );
            $expected  = hash_hmac( 'sha256', $timestamp . '.' . $payload, EMAILIT_WEBHOOK_SECRET );

            if ( abs( time() - (int) $timestamp ) > 300 || ! hash_equals( $expected, $signature ) ) {
                return new WP_Error( 'invalid_signature', 'Invalid signature', [ 'status' => 401 ] );
            }

            foreach ( json_decode( $payload, true ) as $event ) {
                if ( 'email.bounced' === $event['type'] ) {
                    // Flag $event['data']['object']['to'].
                }
            }

            return new WP_REST_Response( null, 200 );
        },
    ] );
} );

Apunta el webhook a https://acme.com/wp-json/emailit/v1/webhook. La comprobación de la firma es lo que protege la ruta, así que no la quites.

Consejos para producción

  • Fuerza la dirección del remitente. Los plugins de WooCommerce, de formularios de contacto y de membresías suelen definir su propio remitente. Forzar una dirección del remitente de tu dominio verificado evita los errores 530 From/Sender domain is not verified.
  • Revisa los registros cuando algo falle. Email APILogs muestra cada inicio de sesión SMTP y cada mensaje con su código de estado, filtrados por clave de API.
  • Vigila tus límites. Por defecto, los espacios de trabajo nuevos pueden enviar 2 emails por segundo y 5000 al día. Una gran venta en WooCommerce o un plugin de newsletters pueden alcanzarlos; para solicitar más, consulta Límites y cuotas.
  • No envíes newsletters con wp_mail. Para el email de marketing a una lista, usa Campañas, que se encargan por ti de los enlaces de baja y de las listas de contactos.

Solución de problemas

Síntoma Causa Solución
535 Authentication failed La contraseña no es una clave de API válida. Pega la clave completa, con secret_, y usa emailit como usuario.
530 From/Sender domain is not verified for this workspace La dirección del remitente no pertenece a un dominio verificado. Define y fuerza un email del remitente de tu dominio verificado.
530 API key is restricted to sending domain La clave está limitada a otro dominio. Usa una dirección del remitente del dominio de la clave u otra clave.
Se agota el tiempo de espera de la conexión Tu proveedor de hosting bloquea el puerto. Prueba con el puerto 2525 o 2587 con TLS, o pide a tu proveedor de hosting que permita el SMTP saliente.
550 Unverified workspaces can only send to workspace members' account emails El espacio de trabajo aún no tiene acceso de producción. Solicita acceso de producción.

Para más información, consulta Solución de problemas de SMTP.

Próximos pasos

Puertos, TLS y credenciales.
Evita que tu correo acabe en spam.
Qué significa cada estado de la lista Emails.
Permisos, limitación por dominio y rotación.

¿Te ha resultado útil esta página?

Gracias por tu opinión.

Gracias. Leemos todos los mensajes.