Cómo usar SMTP para enviar correos electrónicos desde WordPress

Publicado: 2023-04-11

WordPress tiene una forma nativa de enviar correos electrónicos. Utiliza la función PHP mail() para entregar todos esos boletines, restablecimientos de contraseña o cualquier otro tipo de correo electrónico que envíe a su audiencia. Si bien este método teóricamente debería ser suficiente, está lejos de ser perfecto.

En WordPress, enviar correos electrónicos con SMTP es una alternativa mucho mejor. Y no es difícil de configurar. El tutorial de hoy le mostrará cómo hacerlo con y sin complementos.

¿Qué es SMTP?

SMTP o Protocolo simple de transferencia de correo define las reglas para la transmisión de correo electrónico. Hace posible el intercambio de correos electrónicos entre diferentes tipos de computadoras, servidores y redes.

Un servidor SMTP es una aplicación que funciona según el protocolo SMTP y envía correos electrónicos del remitente al destinatario. Para simplificar este proceso, el servidor SMTP recibe correos electrónicos del cliente de correo electrónico (Gmail, Yahoo!, Outlook, etc.) y los transfiere a otros servidores SMTP si es necesario. Luego, los correos electrónicos son recogidos por el servidor SMTP de los destinatarios y entregados mediante servidores de correo entrante (POP3 o IMAP).

¿Por qué es una buena idea usar SMTP para enviar correos electrónicos en WordPress?

Como mencionamos al principio, WordPress usa la función PHP mail() para enviar correos electrónicos. Este método es problemático por varias razones:

  • Es principalmente adecuado para correos electrónicos simples de texto sin formato. Las capacidades de HTML son bastante limitadas y no puede agregar archivos adjuntos ni incrustar imágenes. Eso te deja con correos electrónicos aburridos y con pocos o ningún elemento de diseño;
  • Tiene importantes problemas de capacidad de entrega. PHP mail() no tiene encabezados de correo electrónico adecuados. Como resultado, los proveedores de servicios de Internet (ISP) marcan los correos electrónicos enviados con este método como spam o los rechazan por completo. Por lo tanto, si, por ejemplo, envía por correo electrónico automáticamente nuevas publicaciones a sus suscriptores mediante PHP mail(), lo más probable es que frecuenta las carpetas de spam;
  • No permite el envío de correos electrónicos a través de servidores externos. Incluso si configura la configuración de SMTP, solo se podrá usar con localhost o una solución similar. PHP mail() tampoco es compatible con la autenticación SMTP.

La solución más sencilla es configurar WordPress para enviar correos electrónicos con un servidor SMTP. Este último requiere autenticación de encabezado y admite transmisión segura a través de SSL y TLS. Esto significa que tendrá menos posibilidades de encontrar problemas de capacidad de entrega de correo electrónico, especialmente si utiliza un servicio SMTP confiable y configura todo correctamente.

En ese sentido, averigüemos cómo enviar correos electrónicos en WordPress con un servidor SMTP.

Configurar SMTP en WordPress sin complementos

Puede configurar SMTP en WordPress sin complementos con un poco de codificación y PHPMailer. Es una biblioteca creada para PHP para superar las deficiencias de la función mail(). PHPMailer admite cuerpos de correo electrónico complejos (incluidos HTML e imágenes incrustadas) y archivos adjuntos. Sobre todo, le permite enviar correos electrónicos con cualquier servidor SMTP.

Para que PHPMailer funcione, necesitamos un servidor SMTP que funcione. En el ejemplo de código a continuación, usaremos Gmail SMTP para enviar correos electrónicos en WordPress. Pero antes de comenzar, debe crear una contraseña de aplicación con estas instrucciones. De lo contrario, no podrá autenticarse correctamente.

Ahora, navegue hasta el directorio raíz de su sitio web y localice el archivowp-config.php. Utilice el siguiente ejemplo de código para configurar los ajustes de SMTP de WordPress con las credenciales de Gmail.

 define ('SMTP_username', '[email protected]');
define ('SMTP_password', 'tu-gmail-app-contraseña');
define('servidor_SMTP', 'smtp.gmail.com');
define ('SMTP_FROM', '[email protected]');
define ('SMTP_NAME', 'Su nombre');
define('SMTP_PORT', '587');
define('SMTP_SECURE', 'tls');
define('SMTP_AUTH', verdadero);
definir ('SMTP_DEBUG', 0);

Vaya al editor de temas y busque el archivofunctions.phppara realizar más ediciones. Tenga en cuenta que se recomienda realizar cambios en el tema secundario para evitar el mal funcionamiento del tema principal. Agregue el siguiente script al archivofunctions.php.

 add_action('phpmailer_init', 'mi_phpmailer_smtp');
función my_phpmailer_smtp ($ phpmailer) {
$phpmailer->isSMTP();
$phpmailer->Host = servidor_SMTP;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Puerto = SMTP_PORT;
$phpmailer->Nombre de usuario = SMTP_nombre de usuario;
$phpmailer->Contraseña = SMTP_contraseña;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->Desde = SMTP_FROM;
$phpmailer->FromName = SMTP_NAME;
}

Guarda la configuración y listo. Ahora su WordPress envía correos electrónicos a través del servidor SMTP.

Para obtener más detalles, vea cómo enviar correos electrónicos en WordPress a través de la función PHP.

Uso de complementos para configurar WordPress SMTP

Una forma más sencilla de configurar WordPress para enviar correos electrónicos a través de SMTP es a través de complementos dedicados. No requieren habilidades de codificación: podrá configurarlos incluso sin la ayuda de los desarrolladores.

WP Correo SMTP

WP Correo SMTP

WP Mail SMTP es el complemento más popular para configurar SMTP. Le indica a PHP mail() que use uno de los programas de correo integrados o configuraciones SMTP personalizadas. Al hacerlo, resuelve los problemas de capacidad de entrega de la función nativa.

Puede instalar WP Mail SMTP fácilmente navegando a la pestaña 'Complementos' desde el tablero de su sitio web de WordPress y presionando 'Agregar nuevo'. Escriba 'WP Mail SMTP' en el cuadro de búsqueda, presione 'Instalar ahora' y luego 'Activar'.

Instalación de WP Mail SMTP

Una vez que se instala el complemento, puede configurar el correo desde el tablero o usando el asistente de configuración. Ambos tienen el mismo concepto, solo diseños diferentes. Preferimos usar el tablero, por lo que configuraremos el complemento con su ayuda.

Tenemos dos opciones principales:

  • Configure WP Mail SMTP con servicios SMTP de terceros
  • Usar un correo incorporado

El primer paso es el mismo para ambas opciones, así que discutámoslo aquí. Abra la configuración SMTP de WP Mail y desplácese hacia abajo hasta el correo electrónico del remitente y el nombre del remitente en la pestaña "Conexión principal".

En el campo De correo electrónico, ingrese la dirección de correo electrónico que se usará para enviar correos electrónicos. Esta podría ser una cuenta de correo electrónico gratuita, pero recomendamos una dirección con un dominio personalizado para una mejor capacidad de entrega. Para asegurarse de que la dirección ingresada se use en todos los correos electrónicos, marque la casilla Forzar desde correo electrónico.

En el campo Nombre del remitente, ingrese el nombre que se mostrará en los correos electrónicos enviados. Una vez más, marque Force From Name para asegurarse de que otros complementos (por ejemplo, WooCommerce o el complemento de boletín de noticias de WordPress) no anulen esta configuración.

Configuración SMTP de correo WP

Una vez hecho esto, podemos pasar a configurar el correo para indicarle a WordPress que envíe correos electrónicos con el complemento.

Configurar el correo de WP con servicios SMTP de terceros

El uso de un servicio SMTP de terceros confiable es vital para garantizar que sus correos electrónicos de WordPress se envíen a las bandejas de entrada de los destinatarios. Con la función Otro SMTP de WP Mail SMTP, puede integrar fácilmente su programa de correo favorito. Para el tutorial de hoy, usaremos un servicio SMTP confiable proporcionado por Mailtrap.

Pero antes de integrarlo con su sitio web de WordPress, primero debe crear una cuenta y seguir un asistente en la aplicación para verificar su dominio. Para hacerlo, debe tener acceso a los registros DNS de su dominio. En esos, deberá agregar registros SPF, DKIM y DMARC listos para usar, y luego presionar Verificar dominio.

Verificación de dominio Mailtrap

Una vez que su cuenta esté activa y funcionando, regrese a 'Dominios de envío' y presione en el dominio verificado. Luego haga clic en 'API y SMTP', elija 'SMTP' y copie las credenciales.

Integraciones smtp api de Mailtrap

Regrese a WP Mail SMTP y elija Otro SMTP en la pestaña Mailer.

Mailtrap Otro SMTP

Verá un conjunto de campos vacíos. Complétalos usando las credenciales SMTP de Mailtrap:

  • Servidor SMTP: live.smtp.mailtrap.io
  • Cifrado: TLS (también puede elegir SSL, pero se recomienda TLS)
  • Puerto SMTP: 587 (se completará automáticamente)
  • Autenticación: activar
  • Nombre de usuario SMTP: API
  • Contraseña SMTP: su contraseña SMTP
Configuración SMTP de Mailtrap

Pulse 'Guardar configuración'. Verás una ventana de confirmación. Si todo está configurado correctamente y WordPress envía un correo electrónico SMTP, vuelva a su cuenta de Mailtrap y presione 'Verificar configuración'.

Configuración de verificación de Mailtrap

Uso de la aplicación de correo integrada

Pasemos a la segunda opción de integración: usar un programa de correo incorporado para garantizar que WordPress use SMTP para enviar correos electrónicos. Con este método, puede seleccionar uno de los programas de correo SMTP de WP Mail, incluidos SendLayer, SMTP.com, Sendinblue, Amazon SES, etc. Este método también se puede usar para configurar Gmail SMTP en WordPress o incluso Microsoft 365/Outlook.

El proceso de integración es similar para la mayoría de los ESP. Por supuesto, debe tener una cuenta que funcione para integrarla con WP Mail SMTP. Solo tendrá que elegir el remitente e ingresar la clave API de su cuenta. Las instrucciones al respecto estarán disponibles en la documentación oficial del ESP.

Correo incorporado

Con algunos correos, es posible que deba ingresar su dominio de envío, ID de transmisión de mensajes o región. Las instrucciones detalladas para cada envío están disponibles aquí.

Complemento de WordPress de HubSpot

Complemento de WordPress de HubSpot

WP Mail SMTP se usa principalmente para configurar WordPress para enviar correos electrónicos con SMTP. Por el contrario, HubSpot WordPress Plugin es un complemento completo de Customer Relationship Manager (CRM) para su sitio web de WordPress. Con su ayuda, puede crear listas de correo electrónico con formularios de registro, comunicarse con los visitantes con chat en vivo y analizar métricas importantes.

Lo que es más importante, HubSpot WordPress Plugin le permite integrar su ESP preferido para enviar correos electrónicos de marketing (manual o automáticamente) a sus contactos. También tiene plantillas integradas y un editor de arrastrar y soltar. Entonces, si está buscando algo más que la configuración de SMTP, HubSpot puede ser una buena opción para usted.

SMTP de Gmail

SMTP de Gmail

Gmail SMTP es otro complemento de WordPress para enviar correos electrónicos con SMTP, pero está diseñado específicamente para Gmail. Se basa en PHPMailer y la función nativa wp_mail para enviar correos electrónicos, lo que significa que aún puede usar todas sus funcionalidades.

El complemento SMTP de Gmail se conecta con Gmail mediante API y el protocolo OAuth 2.0. De esa manera, no tendrá que ingresar ningún nombre de usuario o contraseña. Sin embargo, deberá crear una aplicación en Google Developer Console y configurar las credenciales de OAuth. Afortunadamente, la página oficial del complemento enumera las instrucciones necesarias.

Publicar correo SMTP

Publicar correo SMTP

La última opción que tenemos aquí es Post SMTP Mailer. Es un complemento fácil de usar que le permite integrar ESP usando SMTP o API. La versión gratuita es compatible con las API de Mailgun, SendGrid, Mandrill (ahora Mailchimp Transactional Email), SparkPost, Postmark, Sendinblue y Gmail. La versión Pro le dará acceso a Zoho Mail, Amazon SES y Microsoft 365.

Además, Post SMTP Mailer almacena registros de correo electrónico y envía notificaciones de Chrome si se produce algún problema.

¿Cómo probar correos electrónicos en WordPress?

Para asegurarse de que su configuración pueda enviar correos electrónicos desde WordPress con éxito, deberá probar sus correos electrónicos. La mayoría de los complementos vienen con la función de prueba predeterminada para una inspección básica.

Con WP Mail SMTP, por ejemplo, puede navegar a la pestaña 'Prueba de correo electrónico', ingresar su dirección de correo electrónico y presionar 'Enviar correo electrónico'. Si la configuración es correcta, debería encontrar un correo electrónico de prueba en su bandeja de entrada. De lo contrario, WP Mail SMTP le mostrará un registro de errores.

Prueba de correo electrónico SMTP de WP Mail

Sin embargo, probar la funcionalidad de envío de correo electrónico no siempre es suficiente. Es esencial probar HTML, validar encabezados y verificar su puntaje de spam antes de enviar correos electrónicos a sus contactos. Ahí es donde la otra solución de Mailtrap, Email Testing, puede ayudarte. Capturará sus correos electrónicos de WordPress en una bandeja de entrada virtual, asegurándose de que ninguno de ellos llegue a las bandejas de entrada de los destinatarios.

Similar al envío de correo electrónico, la prueba de correo electrónico se puede integrar con los complementos de WordPress utilizando sus credenciales SMTP. Los encontrará en su cuenta expandiendo 'Mi bandeja de entrada' y presionando 'Mostrar credenciales'. Así es como se verá la configuración de SMTP de muestra:

  • Servidor SMTP: sandbox.smtp.mailtrap.io
  • Cifrado: TLS o SSL
  • Puerto SMTP: 465 o 587
  • Autenticación: activar
  • Nombre de usuario SMTP: <su nombre de usuario SMTP>
  • Contraseña SMTP: <su contraseña SMTP>

En cuestión de segundos, su correo electrónico de prueba aparecerá en su bandeja de entrada virtual si la configuración es correcta.

Prueba de correo electrónico Mailtrap

Como hemos visto, para configurar WordPress para enviar correos electrónicos con SMTP, tiene dos opciones principales: codificar con PHPMailer o usar complementos. La primera opción es más adecuada para los desarrolladores, mientras que la segunda opción es perfecta para los especialistas en marketing. Cualquiera que sea el método que elija, lo principal es encontrar una forma de evitar las deficiencias de PHP.

Todos los complementos que enumeramos anteriormente le permiten usar el SMTP de Gmail. Si bien es lo suficientemente bueno para enviar correos electrónicos ocasionales, es mejor optar por un ESP confiable para enviar grandes volúmenes de correos electrónicos. De lo contrario, lo más probable es que sus correos electrónicos se marquen como spam.

¡Disfrutar!