Som udvikler står jeg ind i mellem i situationer, hvor jeg IKKE ønsker at WordPress skal sende mails ud. Det kan være under opretning af mange brugere før lancering, test af funktioner i staging-miljø (testserver) og meget andet.
WordPress sender masser af information ud og langt det meste er meget brugbart. Især info til brugere om relevante ændringer. Men nogle gange skal en funktion testes, før den etableres på den server og så duer det ikke, at der bliver sendt mails ud.
Det kan fx være:
- demonstration af funktioner, der normalt ville sende emails
- staging-/udvikling-/test-server, der indeholde data fra virkelige brugere
- masseopsætning af brugere, der ville udløse email
- opsætning af nye websteder i multisite-installationer
Jeg har prøvet det et par gange – ved en fejl – og det duer bare ikke med de forvirrede brugere, der nu pludselig modtager mails fra en anden server, min testserver.
Mailhog til lokalt brug
I mit lokale testmiljø bruger jeg Mailhog, som er en integreret del af Local by Flywheel.
Denne opsætning filtrere al udgående mail og præsenterer dem i en webmail lignende brugerflade, der gør nemt at teste og se resultatet. Det bruger også til opsætning speciallayout af mails fra fx WooCommerce.
Hvis du ikke bruger Local, så tag evt et kig på denne gode beskrivelse af installation af Mailhog i andre situationer.
Disable emails til ekstern brug
På eksterne server har jeg ikke altid mulighed for at installere Mailhog – eller det er måske bare ikke besværet værd for en mindre opgave. Men derfor kan det stadig være nødvendigt at blokere WordPress for at udsende emails.
Så installerer jeg plugin’et Disable Emails, der ganske fikst blokere for udsendelse af emails via wp_mail. Det gælder også nulstilling af password, så brug den med varsomhed.
Log emails til kontrol
Hvis du stadig ønsker at se indholdet af de emails, systemet normalt ville sende ud, så installer også plugin’et Email Log eller noget tilsvarende. Så kan du se indholdet af disse emails, uden at nogen modtager dem.