Un resultat true de wp_mail() significa que WordPress ha lliurat el missatge al mailer configurat sense un error immediat. No significa que el servidor SMTP l’hagi acceptat, que el gateway destinatari l’hagi lliurat o que l’usuari l’hagi vist.
Conserva aquest resultat com un control i continua seguint el mateix missatge.
Crea una prova rastrejable
Utilitza un destinatari sintètic sota el teu control, una referència única a l’assumpte i cap dada personal. Anota l’hora, l’entorn i la ruta de codi que ha cridat wp_mail().
Prova l’acció real del formulari o aplicació a més de la pantalla de test del plugin. Aquesta pot utilitzar capçaleres, destinatari i moment d’execució diferents.
Evita bucles de proves: els límits d’enviament poden ocultar el problema original.
Interpreta correctament el valor
WordPress construeix el missatge amb PHPMailer i aplica hooks abans d’intentar el lliurament. El booleà true indica que no s’ha notificat cap error síncron en aquesta etapa.
Amb PHP mail local, el sistema operatiu pot acceptar el missatge en una cua que el rebutgi després. Amb SMTP, un plugin pot registrar la connexió i la resposta del proveïdor.
El valor no descriu filtratge antispam, quarantena ni un rebot posterior.
Captura errors de manera segura
Durant un diagnòstic breu, un desenvolupador pot registrar només el codi i el missatge del hook wp_mail_failed. No desis totes les dades del correu en producció: podrien incloure destinataris, contingut i adjunts.
add_action('wp_mail_failed', function (WP_Error $error): void {
error_log(
'WordPress mail failure: ' .
sanitize_text_field($error->get_error_code()) . ' | ' .
sanitize_text_field($error->get_error_message())
);
});
Col·loca el codi temporal en un mecanisme de desenvolupament apropiat, conserva una reversió i retira’l en acabar. Mantén els registres fora de l’accés públic.
Identifica el transport actiu
Determina si el web utilitza PHP mail, sendmail, un relay de l’allotjament, SMTP o una API transaccional. Revisa el plugin actiu i la configuració real; instal·lar un plugin SMTP no garanteix que controli tots els missatges.
Comprova From, Return-Path i domini d’enviament. Utilitza un remitent autenticat del domini i el visitant a Reply-To.
Amb correu local, consulta la cua i el registre de lliurament de cPanel o Plesk amb accés autoritzat.
Busca el missatge al proveïdor
Localitza la referència a l’activitat SMTP o transaccional. Anota si ha estat acceptat, ajornat, rebotat, rebutjat o suprimit, juntament amb el message ID.
Si no hi apareix, no ha arribat a aquest proveïdor malgrat el resultat de WordPress; inspecciona l’enrutament, les cues locals i quin plugin posseeix l’enviament.
Si s’ha rebutjat, utilitza el codi exacte per reparar credencials, autorització del remitent, límits o destinatari.
Revisa autenticació i rebots
Comprova SPF, DKIM i DMARC per al proveïdor i From reals. El registre A del web no autoritza el correu i els MX normalment controlen l’entrada.
Supervisa el Return-Path autenticat per detectar informes de no lliurament. Alguns arriben quan la petició PHP ja ha acabat i no poden canviar el booleà anterior.
No creïs un segon SPF ni publiquis claus DKIM privades.
Segueix el gateway destinatari
Després de l’acceptació, demana a l’administrador autoritzat que cerqui per message ID, hora, remitent i destinatari. Revisa quarantena, regles, àlies, grups i quota.
Provar només Gmail no és suficient quan el receptor real utilitza Microsoft 365, Google Workspace o un altre gateway corporatiu.
Inspecciona les capçaleres completes d’una còpia lliurada sense publicar adreces personals.
Verifica el lliurament complet
Després de reparar el traspàs identificat, executa l’acció real una vegada amb una referència nova. Confirma el resultat de wp_mail(), l’acceptació local o externa, l’autenticació i l’arribada final.
Prova Reply-To, adjunts i destinataris condicionals. Mantén un registre protegit o alertes del proveïdor proporcionals al volum.
Demana reparació urgent quan discrepin els registres locals i externs, els rebots no siguin clars o els leads siguin crítics. Comparteix hores i codis ocultant dades; mai credencials o cossos.