Ir directamente al contenido

Ajustes de cookies

Elija por tipo qué cookies permite. Puede cambiar su elección en cualquier momento en Ajustes de cookies, al pie de cada página. Declaración de privacidad

Necesarias

Siempre activadas

Necesarias para iniciar sesión, conservar su carrito y recordar sus preferencias. Siempre están activadas.

¿Qué cookies?
  • weboke_sessie, weboke_klant, weboke_remember: su sesión y mantener la sesión iniciada
  • weboke_basket: su carrito
  • wkBtwIncl: mostrar los precios con o sin IVA
  • wok_cookies: su elección de cookies, 12 meses

Mide qué anuncio lleva a una visita o a un pedido, para no pagar por anuncios que no sirven de nada.

¿Qué cookies?
  • Google Ads a través de Google Tag Manager (_gcl_au, _gcl_aw), hasta 90 días
  • OpenAI Ads, anuncios en ChatGPT
  • wok_aff: a través de qué socio llegó a nosotros (programa de afiliados), 60 días

4,6

País e idioma

Cada país tiene su propio sitio, con los precios y el IVA de ese país.

Ver

Módulo 9 · 9.1

Correo electrónico desde WordPress

Módulo 9: Correo electrónico, posicionamiento (SEO), RGPD, mantenimiento y migración · Tiempo de lectura: 9 minutos

Objetivo de aprendizaje: Después de esta lección podrá asegurarse de que el correo que sale de WordPress (formularios, pedidos, enlaces de contraseña) llegue de forma fiable.

Conceptos clave: wp_mail, PHP mail(), remitente (From), Reply-To, SMTP, plugin SMTP, buzón autenticado, servicio de correo transaccional, SPF, DKIM, DMARC, alineación, MX en otro proveedor, correo de prueba

WordPress envía más correo del que piensa

Su sitio envía correo en los siguientes casos: un formulario de contacto rellenado, un pedido (al cliente y a usted), un nuevo usuario, una contraseña olvidada, un nuevo comentario, una actualización automática, un error crítico (lección 5.4). Si ese correo no llega, a menudo solo se da cuenta cuando un cliente llama: «he rellenado el formulario tres veces».

Cómo envía correo WordPress por defecto

WordPress envía todo a través de la función wp_mail. Por defecto, esta entrega el correo a la función de PHP mail(), que lo pasa al programa de correo del servidor web. Esto funciona, pero tiene tres puntos débiles:

  1. El remitente. Sin configuración, WordPress envía como wordpress@example.com. Si esa dirección no existe, o si el remitente es distinto de su propio dominio, los destinatarios desconfían.
  2. SPF, DKIM y DMARC. Los servidores de correo receptores comprueban si el servidor que entrega el correo tiene permiso para enviar en nombre de su dominio (SPF), si el correo tiene una firma digital válida de su dominio (DKIM), y cuál es la política de su dominio si algo no cuadra (DMARC). En el curso de DNS (lecciones 4.3 a 4.5) puede leer cómo funciona esto. El correo enviado a través del servidor web solo pasa esas comprobaciones si su DNS y el servidor están configurados en consecuencia.
  3. Correo en otro proveedor. Si su correo electrónico no está alojado en su proveedor de hosting sino, por ejemplo, en Microsoft 365 o Google Workspace (sus registros MX apuntan allí), el correo enviado a través del servidor web a menudo no coincide con su SPF y DKIM. Además, algunos servidores web intentan entregar localmente el correo dirigido a su propio dominio en lugar de hacerlo a través del MX, de modo que nunca llega a su buzón real.

Configurar bien el remitente y Reply-To

Un error frecuente en los formularios de contacto: usar como remitente (From) la dirección del visitante. Parece lógico («así puedo pulsar responder»), pero su servidor no tiene permiso para enviar correo en nombre de @gmail.com o @hotmail.com. Esos dominios tienen una política DMARC estricta, por lo que el destinatario rechaza el correo o lo marca como spam.

Lo correcto es:

From:     Website <website@example.com>      (una dirección de su propio dominio)
Reply-To: bezoeker@example.net               (la dirección que indicó el visitante)
To:       info@example.com

Con Reply-To, su respuesta llega igualmente al visitante. Prácticamente todos los plugins de formularios tienen esos dos campos por separado.

SMTP: enviar a través de un buzón real

La solución más fiable es hacer que WordPress envíe correo mediante SMTP: la misma forma en que su programa de correo envía mensajes, con un nombre de usuario y una contraseña de un buzón real. Esto se hace con un plugin SMTP (por ejemplo WP Mail SMTP, FluentSMTP o Post SMTP; hay más). El plugin intercepta wp_mail y envía el correo a través del servidor que usted indique:

OpciónPara quién
El buzón de su propio proveedor de hosting (por ejemplo website@example.com en el servidor de correo de su paquete de hosting)La mayoría de sitios pequeños con el correo en el mismo proveedor
Su correo en Microsoft 365 o Google WorkspaceSi su correo está ahí; a menudo mediante una conexión especial en el plugin (OAuth) en lugar de una contraseña, porque esos servicios limitan cada vez más el inicio de sesión SMTP normal
Un servicio de correo transaccional (un servicio especializado en el envío de correo desde sitios web y aplicaciones)Tiendas online y sitios que envían mucho correo

Ventajas: el correo pasa por un servidor que ya está configurado con SPF y DKIM para su dominio, el remitente es una dirección existente y muchos plugins mantienen un registro (log), de modo que puede ver qué se envió y qué falló.

Tenga en cuenta algunos aspectos:

  • Use una dirección de correo independiente para el sitio (por ejemplo website@), no su propio buzón. Si el sitio es hackeado y la contraseña se filtra, esa dirección puede sustituirse sin consecuencias.
  • La contraseña SMTP se guarda en la base de datos o en wp-config.php. Use, siempre que sea posible, una contraseña de aplicación o una conexión sin contraseña.
  • Un registro de correo contiene datos personales (quién envió qué). No deje que crezca indefinidamente (lección 9.3).

SPF, DKIM y DMARC para su sitio

Sea cual sea el servidor que envía el correo, su DNS debe estar en consonancia:

  • SPF: el registro SPF de su dominio debe mencionar el servidor que entrega el correo. Si envía a través del servidor de correo de su proveedor de hosting, normalmente ya figura ahí. Si envía a través de un servicio transaccional, añada su include: en el mismo registro SPF (nunca un segundo registro SPF, curso de DNS, lección 4.3).
  • DKIM: el servidor que envía debe firmar el correo con una clave que figura en su DNS (<selector>._domainkey.example.com). Tanto en su proveedor de hosting como en los servicios transaccionales se activa esto; el servicio le proporciona los registros.
  • DMARC: un registro en _dmarc.example.com. Empiece con p=none y endurézcalo cuando todo funcione correctamente (curso de DNS, lección 4.5).

Para DMARC, el dominio del From debe estar alineado con el dominio que supera SPF o DKIM. Por eso es tan importante que el From use su propio dominio.

Probar

  1. Muchos plugins SMTP tienen un botón de Enviar correo de prueba. Envíe uno a una dirección de otro proveedor (una dirección de Gmail u Outlook.com) y compruebe si llega a la bandeja de entrada.
  2. Observe en ese correo las cabeceras («Mostrar original» o «Mostrar origen»). Busque spf=pass, dkim=pass y dmarc=pass.
  3. Rellene su propio formulario de contacto y compruebe si el correo llega, con el Reply-To correcto.
  4. Pruebe también un enlace de contraseña y, en una tienda, un pedido de prueba.

Herramientas en línea como mail-tester.com le dan una puntuación y una explicación; con la Verificación de correo electrónico de su proveedor de hosting (en WebOké se llama así) o con internet.nl comprueba la parte del DNS.

En la práctica: así se ve en un panel

Como ejemplo usamos DirectAdmin y un plugin SMTP. En otros proveedores y plugins los campos se llaman de forma parecida.

  1. Cree en DirectAdmin, en Cuentas de correo electrónico, un buzón website@example.com con una contraseña segura.
  2. Busque en su proveedor de hosting la configuración de correo saliente (nombre del servidor, puerto 465 o 587, cifrado).
  3. Introduzca esos datos en el plugin SMTP, con website@example.com como remitente. Active «forzar remitente», para que otros plugins también usen esta dirección.
  4. Compruebe en Gestión de DNS que existen los registros SPF, DKIM y DMARC de su dominio.
  5. Envíe un correo de prueba y lea las cabeceras.

Resumen

  • WordPress envía a través de wp_mail y, por defecto, mediante PHP mail(); el remitente y el DNS determinan si llega.
  • Configure el remitente (From) con una dirección de su propio dominio y la dirección del visitante en Reply-To.
  • Un plugin SMTP con un buzón independiente o un servicio transaccional es lo más fiable, con un registro.
  • El SPF debe mencionar el servidor que envía (en un único registro), el DKIM debe estar activado, el DMARC debe empezar con p=none.
  • Haga la prueba con una dirección de otro proveedor y lea spf, dkim y dmarc en las cabeceras.

Cuestionario

1. Su formulario de contacto usa la dirección del visitante como remitente. El correo de los usuarios de Gmail no llega. ¿Por qué?



2. Su correo está en Microsoft 365, su sitio web en un proveedor de hosting. El correo de WordPress llega mal. ¿Cuál es la mejor solución?



3. ¿Dónde comprueba, en un correo de prueba recibido, si SPF, DKIM y DMARC son correctos?



4. ¿Por qué usar para el sitio una dirección de correo independiente, como website@, en lugar de su propio buzón?



Ejercicio

Ejercicio A9.1: ¿Está su dominio listo para enviar correo desde su sitio? Introduzca su dominio, la dirección que su sitio usa como remitente y el servidor a través del cual su sitio envía correo (el nombre del servidor SMTP, o «servidor web» si no ha configurado nada). Introduzca también el selector DKIM si lo conoce. El programa comprueba: que la dirección del remitente pertenece a su dominio, que existe exactamente un registro SPF y que permite al servidor indicado, que existe un registro DKIM en el selector (o indica que sin selector no puede comprobarlo), y que existe un registro DMARC válido.

Ejercicio A9.1: ¿Está su dominio listo para enviar correo desde su sitio?





No guardamos lo que escriba ni lo que encontremos. Su navegador recuerda sus respuestas y si ha superado el ejercicio. Si ha iniciado sesión, en Mis cursos solo guardamos que el ejercicio estaba (casi) correcto; allí también puede eliminarlo.

Ejercicio D9.1: Leer un correo de prueba. Envíe un correo de prueba desde su sitio (el botón de prueba de su plugin SMTP, o un enlace de contraseña a una cuenta de prueba) a una dirección de otro proveedor. Abra las cabeceras de ese correo y anote los resultados de spf, dkim y dmarc, y qué dominio aparece en cada uno. Después rellene su propio formulario de contacto y compruebe: ¿llega el correo y «responder» va a la dirección que indicó en el formulario?

Ejercicio D9.1: Leer un correo de prueba

Este ejercicio lo hace usted mismo; nadie lo revisa. Marque lo que haya hecho y señale el ejercicio como realizado.




Sus marcas y notas se quedan solo en este navegador; no las enviamos a ningún sitio. Si ha iniciado sesión, en Mis cursos solo guardamos que ha realizado el ejercicio.

Para saber más

Estos artículos describen los pasos en los paneles de WebOké; en otros paneles funcionan de forma parecida.

Un momento…

Configure sus dominios

Configure para cada dominio los servidores de nombres, la vinculación a su hosting y quién será el titular.

Cargando sus dominios…