Spring til indhold
Acorn Mail: SMTP i WordPress uden plugin-rod og med test via CLI
Hannah Turing
Hannah Turing 2024. March 19. · 4 min read

Acorn Mail: SMTP i WordPress uden plugin-rod og med test via CLI

Hvis du har forsøgt at få WordPress til at sende mail stabilt via SMTP på tværs af local/staging/production, kender du sikkert frustrationen: et plugin her, lidt “magi” der, og stadig ingen garanti for, at password, port, TLS og afsender er sat rigtigt. Og når det fejler, får man ofte nærmest ingen brugbar fejlrapportering.

Samtidig er SMTP-plugins ikke bare et spørgsmål om smag. De kan være ustabile, og i værste fald decideret usikre. Roots peger fx på en konkret sårbarhed i et SMTP-plugin-landskab, som er værd at have i baghovedet, når man lægger autentificeringsoplysninger ind i WordPress-admin: CVE-2023-6875.

Roots’ bud på en mere udviklervenlig løsning er Acorn Mail: et Composer-installérbart package, der kobler sig på WordPress’ PHPMailer (mail-motoren WordPress bruger internt) og sætter SMTP op via miljøvariabler. Bonus: du får et CLI-testværktøj, der viser fejl tydeligt, i stedet for at du skal gætte dig frem ud fra “Mailen kom aldrig frem”.

Hvad er Acorn Mail – og hvorfor giver det mening?

Acorn Mail er et add-on til Roots Acorn, som standardiserer SMTP-konfigurationen i en WordPress-applikation og gør det nemt at teste mailflowet. I praksis betyder det:

  • Konfiguration via miljøvariabler i stedet for admin-UI og DB-gemte settings
  • Automatisk opsætning af SMTP på WordPress’ PHPMailer når credentials er til stede
  • En simpel CLI-kommando til at sende testmail og se fejl undervejs

Det er især interessant i miljøer, hvor du deployer “12-factor”-agtigt: secrets i environment, config i kode, og så lidt som muligt i WordPress-admin.

Installation med Composer

Acorn Mail installeres sammen med Acorn via Composer:

composer require roots/acorn-mail

Når pakken er installeret, er den grundlæggende idé, at du ikke skal klikke dig rundt i et plugin-interface. Du sætter i stedet mailopsætningen i environment.

Basiskonfiguration via environment variables

Acorn Mail læser SMTP-oplysninger fra følgende miljøvariabler:

MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME=

Når Acorn Mail registrerer, at credentials er sat (dvs. ikke tomme), hooker den automatisk ind i WordPress’ PHPMailer-instance og konfigurerer SMTP derfra.

Hvorfor miljøvariabler?

I praksis gør det det nemmere at holde forskelle mellem local/staging/production ude af kodebasen og væk fra WordPress-admin. Det passer godt til moderne deploy-flows, hvor secrets håndteres af platformen.

Avanceret konfiguration: publicér mail.php

Har du brug for mere avancerede indstillinger end det, environment variables dækker, kan du publicere Acorn Mails konfigurationsfil:

wp acorn mail:config

Det giver dig en mail.php-config, som du kan justere efter behov.

Test af mail – direkte fra CLI

Noget af det mest praktiske i pakken er testkommandoen. I stedet for at stole på en “Send test mail”-knap, der ikke fortæller dig noget ved fejl, kan du køre:

wp acorn mail:test [--to=]

Kommandoen sender en testmail til den adresse, du angiver, og viser fejl “rent” i outputtet, så du kan se, om problemet ligger i host, port, auth eller noget andet i kæden.

Hvornår er Acorn Mail et godt match?

Acorn Mail giver mest mening, hvis du i forvejen bygger WordPress-projekter med Roots-stack (Acorn/Bedrock-tilgangen) og ønsker at:

  • Undgå SMTP-plugins i WordPress-admin af sikkerheds- og driftshensyn
  • Have ensartet konfiguration på tværs af miljøer
  • Kunne verificere mailsetup hurtigt i forbindelse med deploy eller fejlsøgning
  • Holde credentials ude af databasen og væk fra klik-konfiguration

Opsummering

Acorn Mail er et lille, men meget praktisk stykke “infrastruktur” til WordPress-mail: installation via Composer, SMTP sat op via miljøvariabler, automatisk wiring til PHPMailer, og en CLI-testkommando der faktisk hjælper, når noget går galt. Hvis du allerede er i Roots/Acorn-universet, er det en markant mere robust arbejdsgang end den klassiske plugin-baserede SMTP-opsætning.

Hannah Turing

Hannah Turing

WordPress-udvikler og teknisk skribent hos HelloWP. Jeg hjælper udviklere med at bygge bedre hjemmesider med moderne værktøjer som Laravel, Tailwind CSS og WordPress-økosystemet. Passioneret omkring ren kode og udvikleroplevelse.

Alle indlæg

Bliv en del af HelloWP-communityet!

Chat med os om WordPress og webudvikling, og del erfaringer med andre udviklere.

- medlemmer
- online
Deltag

We use cookies to improve your experience. By continuing, you agree to our Cookie Policy.