En algunos proyectos es posible que tengas la necesidad de monitorear los correos que se generan en tu sitio ya sea porque estas probando un plugin o desarrollando alguno. En este artículo veremos dos opciones simples de cómo realizar esto.
Generalidades
En un artículo anterior habíamos visto cómo configurar SMTP para el envío de correos en WordPress, sin embargo para un sitio en desarrollo no se suele configurar SMTP, en su lugar usamos herramientas que se integren con nuestro entorno local.
A continuación veremos dos formas de capturar el log de los correos salientes desde WordPress, la primera será a través de un plugin y la otra es usando los logs de PHP.
Logs de correos usando un plugin
Existen varios plugins que tienen esta funcionalidad, uno de ellos es del plugin WP Mail Logging.
Luego de instalar el plugin veras una opción adicional en el menú de administración de WordPress, puedes dejar la configuración que tiene por defecto.
Cuando se envía un correo desde tu sitio se registrará y podrás ver el contenido, tal como se muestra en la imagen.
También puedes ver el detalle del correo en un popup.
Logs de correos usando código
Si quieres evitar un plugin y depurar lo que esta enviando la función wp_mail() de WordPress, puedes habilitar la depuración y luego simplemente usar un Hook de filtro que capture los datos antes de enviarlos.
Puedes usar el siguiente código en tu archivo functions.php de tu tema hijo.
add_filter('wp_mail','dcms_log_emails', 10,1);
function dcms_log_emails($args){
error_log(print_r($args, true));
return $args;
}
En el código anterior:
- Usamos el Hook de filtro de la función wp_mail que tiene el mismo nobre
- Este hook tiene un parámetro de array llamado args en donde esta toda la información de Log
- Simplemente enviamos esta información al archivo log de PHP
- Finalmente devolvemos los argumentos pasados como parámetro
Si enviamos un correo de recuperación de contraseña, al inspeccionar el archivo /wp-content/debug.log, veremos algo similar a la siguiente imagen en donde se ha capturado la información del correo.
Conclusión
Como has podido comprobar, puedes capturar fácilmente los correos que se envían desde tu sitio, esto es particularmente útil cuando estas trabajando localmente.
¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores:
La entrada Log de correos en WordPress es un artículo reciente del sitio DecodeCMS.
0 Commentaires