Cuando instalamos WordPress en un servidor el envió de emails “debería” funcionar de manera automática, pero tú y yo sabemos que la teoría casi siempre se ve superada por la realidad ?.
Si tu WordPress no envía los emails de tus plugins, no dejes de leer este artículo, porque te enseñaré como solventarlo, y lo mejor, como a ti te gusta: sin gastar un centavo y con herramientas gratuitas ?.
Contenido del post
¿Por qué mi WordPress no envía emails?
WordPress usa de manera predeterminada la función mail de PHP para el envío de emails del sistema base y plugins. Cada servicio de hosting tiene políticas propias sobre el uso del PHP por los usuarios, en algunos la función mail está habilitada mientras que en otros puede no estar disponible.
Esto nos obliga a depender de la configuración del servidor donde alojemos nuestro sitio.
El envió de emails es un proceso fundamental en nuestro WordPress, ya que es la forma típica de comunicarse el servidor con nosotros o con otros usuarios para múltiples tareas, muchas de ellas críticas para su funcionamiento.
Un ejemplo de esto son los plugins de seguridad, como el iThemes; estos nos envían notificaciones al correo electrónico sobre vulnerabilidades o posibles intentos de hackeos que deben ser solventados a la brevedad posible.
SMTP para el envió de emails
Una de las mejores maneras para dejar de depender del hosting en este proceso es, usando el SMTP (Simple Mail Transfer Protocol o protocolo para transferencia simple de correo) de servicios de correo electrónico de terceros, como Gmail.
Usar el servicio SMTP de terceros es una gran ventaja, ya que nos sirve como puente para el envío de nuestros emails sin tener que depender de la función mail del PHP del servidor.
En este post usaremos el SMTP de Gmail, el cual nos permite enviar hasta 2000 correos por día, más que suficiente para el uso normal en WordPress.
Una de las ventajas de Gmail, es que al ser un servicio reconocido y autentificado evitamos que los correos electrónicos caigan en la bandeja de spam.
Post SMTP Mailer/Email Log
Para que esto funcione, es necesario un plugin que enlace nuestro servidor y el SMTP de Gmail para el envió de los correos electrónicos en WordPress.
He probado varios de ellos y muchos me fallaron, hasta que hallé Post SMTP. Funciona a la perfección y lo mejor es que es completamente gratuito. Es un plugin muy popular que cuenta con más de 10.000 instalaciones activas.
Este plugin es la actualización del famoso Postman SMTP, que tenia mas de 100.000 instalaciones, aunque es casi igual (por no decir idéntico ?), esta actualizado y constestan rapidamente en sus foros de soporte.
Pongámonos entonces manos a la obra para que hacer que WordPress envíe los emails con Post SMTP mediante Gmail.
Haciendo que WordPress envíe correos electrónicos por SMTP
Necesitamos instalar el Post SMTP en nuestro servidor; lo puedes descargar desde aquí e instalarlo manualmente.
Mi recomendación es hacerlo directamente desde la administración de WordPress en Plugins > Añadir nuevo, colocando Post SMTP en el campo de búsqueda, y dándole clic al botón Instalar ahora. No olvides activarlo al finalizar la instalación.
Una vez hecho esto, dirígete en el menú de administración a Post SMTP. Hazle clic al vínculo Show All Settings (está ubicado debajo del botón Start the Wizard).
En la pestaña principal Account, seleccionamos en el tipo de transporte (Transport): Gmail API. De esta pantalla necesitaremos la información que está en los campos Authorized JavaScript origins y Authorized redirect URI, ya que nos la solicitará Google cuando configuremos la API.
Creando la Gmail API para Post SMTP
Como te habrás imaginado 💡 es necesario tener un correo de Gmail del cual podamos servirnos. Te recomiendo crear uno específicamente para los servicios de Google que nuestra web pueda necesitar.
Entra con tu cuenta de Gmail en el navegador, de manera que te encuentres logueado al momento de crear la API. Dirígete a la Google Developers Console desde aquí. Este vínculo te llevará directamente a la creación de la Gmail API.
En la primera pantalla decide si quieres recibir los correos de Google y acepta las condiciones de uso, para luego darle clic a Acertar y continuar.
Posteriormente solo debes hacer clic a Ir a las credenciales.
En la siguiente pantalla selecciona ID de cliente. Debajo te muestro la ubicación exacta ?.
Hazle clic al botón Configurar pantalla de autorización (Google debería quitar varias pantallas en este procedimiento, esta es redundante ?, ¿No te parece?)
Esto nos lleva a las opciones para autorización de OAuth. En la dirección de correo electrónico nos cercioramos que sea el correo que usamos para loguearnos (por defecto está colocado) y le damos un nombre al producto, en mi caso Correo SMTP.
Los demás campos son opcionales, puedes saltártelos. Guarda los cambios.
Por fin llegamos a la pantalla de creación de la ID de cliente ?.
En el tipo de aplicación selecciona Web. En los campos Origenes de Javascript autorizados y URIs de redireccionamiento autorizados, colocaremos la información que nos da el plugin Post SMTP en Authorized JavaScript origins y Authorized redirect URI respectivamente.
Ahora sólo debes dar clic a Crear.
A continuación se generara la ID de cliente y Secreto de cliente, se nos mostrará en pantalla. Estas claves son las que nos servirán para autenticarnos en Gmail con el plugin Post SMTP.
Copia estas dos claves, ya que las necesitaremos a continuación (estarán disponibles, de todas maneras, en la Google Developers Console, en el apartado de credenciales, para este ejemplo como Cliente web 1)
Configurando Post SMTP
Vamos de vuelta al WordPress en la configuración de la Gmail API del plugin.
Copiamos la ID de cliente en el campo de Client ID y Secreto de cliente en el campo Client Secret; todo esto en la pestaña Account.
Selecciona la pestaña Message y coloca el correo electrónico de Gmail, y el nombre que desees aparezca en los mensajes enviados mediante este servicio, en los campos respectivos. Guarda los cambios.
Sólo nos falta concederle los permisos al plugin para que se conecte con la cuenta de Gmail. Para ello en la pantalla principal de Post SMTP haz clic al vínculo Grant permission with Google.
Veremos una pantalla de Google donde debemos darle clic a botón Permitir (recuerda estar logueado con tu cuenta de Gmail)
Con esta acción debería estar configurado nuestro servicio de envió de emails con Post SMTP para WordPress.
Te recomiendo hacer una prueba haciendo uso del vinculo Send a Test Email, ubicado en la pantalla principal del plugin.
En esta guía creo que batí mi record de pantallazos ?, pero valió la pena, ¡para que no exista ninguna duda!.
Cualquier incidencia que tengas házmelo saber en los comentarios. Saludos.

Fundador de VivaBlogger y cofundador de EVirtualplus. Soy un tecnomaniaco desde que estaba en pañales. Mi familia es el fundamento de mi vida. Sígueme en mis redes sociales.
Gracias gracias tres días en lucha para que funcione el mail. Tu post de maravilla! Gracias de nuevo
Hola Juan.
Me alegro haya sido de ayuda el post.
Saludos.
Funciona genial! Muchas gracias por tu tutorial!
¿Es posible que cuando lleguen los mails el destinatario sea el que yo quiera? o siempre debe de ser el del gmail con el que he creado la API.
MUchas gracias
Me alegra leerte Angel.
Este tutorial sirve para que wordpress pueda enviar correos sin depender de tu servidor, el gmail nos sirve como puerta de salida, nada mas.
El destinatario dependerá del plugin que lo envié.
Saludos.
Excelente artículo.
Tutoriales como este siempre son realmente buenos.
Necesitaba precisamente como enviar emails con wordpress y creo que ahora ya tengo la solución idonea.
saludos.
Me alegra que te ayude 🙂 . Saludos.
Funciona perfecto peeeeeeeeeeeeero….. Llegan desde mi correo de Gmail, y necesito que lleguen desde mi correo empresarial, que está alojado en GoDaddy, creo que utiliza el servicio de SMTP de Office360. Pero para salir del apuro me sirvió tu guía! Gracias 😀
Pues que lo disfrutes 😉
Fantástico tutorial. Me falló el último paso, Grant Permision with google aparece deshabilitado y no puedo tocarlo, no sé como lo hice pero llegué al siguiente pantallazo…aún así me dice esto…Your web host has placed a firewall between this site and the Internet.
The SMTP hostname is wrong or the mail server does not provide service on this port.. supongo que será el servidor de hosting. En fin…¿ algún consejo para deshacer todo?.
Aún así el tutorial me parece alucinante, entras en un nivel de detalle que pocos hacen. Muchas muchas gracias.
Saludos Ana. Aparentemente tu hosting esta bloqueando el puerto de conexión del plugin
Para que funcione el plugin debes darle permisos al plugin para que habilite el envió de los correos en la opción Grant permission with Google.
Prueba en la pestaña Transport, en la opción Type selecciona SMTP, y coloca en Outgoing Mail Server Port: 587, si no funciona prueba con 465.
No olvides guardar los cambios y en la pantalla principal intentar nuevamente con Grant permission with Google para volver a pedir los permisos.
¡Bravo! Había dado muchas vueltas tratando de resolver este problema y siguiendo tus instrucciones ha sido súper sencillo. ¡¡Muchas gracias!!