---
title: "Acorn Mail: SMTP ve WordPressu bez pluginů a s testem přes CLI"
url: "https://helloblog.io/cs/acorn-mail-smtp-ve-wordpressu-bez-pluginu-a-s-testem-pres-cli/"
date: "2024-03-19"
modified: "2026-01-20"
author: "Tereza Novotná"
language: "cs_CZ"
categories: ["Ekosystém WordPress"]
tags: ["Acorn", "CLI", "PHPMailer", "SMTP", "WordPress"]
featured_image: "https://helloblog.io/app/uploads/sites/11/2026/01/featured-6-1024x572.jpg"
excerpt: "SMTP u WordPressu bývá překvapivě křehké: na lokálu to „nějak“ funguje, na stagingu ne, v produkci bez logů hádáš proč. Acorn Mail to řeší konfigurací přes env proměnné a přidává jednoduchý test odeslání přímo z CLI."
---

# Acorn Mail: SMTP ve WordPressu bez pluginů a s testem přes CLI

Kdo někdy ladil odesílání e-mailů z WordPressu přes SMTP, ten to zná: rozdílná konfigurace mezi prostředími, nejasné chybové hlášky a často i závislost na pluginu, který do toho „sahá“ způsobem, jenž se špatně debuguje. Navíc se objevují i bezpečnostní incidenty v některých SMTP pluginech (Roots v oznámení zmiňuje konkrétní zranitelnost evidovanou jako CVE-2023-6875), takže dávat SMTP vrstvu do dalšího pluginu není vždy ideální.

Tým kolem Roots proto představil **Acorn Mail** – balíček, jehož cílem je zjednodušit SMTP konfiguraci a hlavně testování odesílání e-mailů ve WordPress aplikaci postavené na Acornu. Klíčová myšlenka: konfigurace přes environment proměnné a kontrolované napojení na WordPressový `PHPMailer` (třída, kterou WordPress používá pro odesílání mailů) – a k tomu CLI příkaz na rychlý test.

## Co je Acorn Mail a pro koho dává smysl

Acorn Mail je balíček z ekosystému Roots pro projekty, které používají **Acorn** (frameworkové rozšíření pro WordPress, inspirované Laravelem). Nesnaží se přepsat mailovou logiku WordPressu, jen se chytře napojí na existující instanci `PHPMailer` a nastaví SMTP ve chvíli, kdy detekuje zadané přihlašovací údaje.

Prakticky to oceníš hlavně tehdy, když:

- chceš držet konfiguraci mimo databázi a mimo admin (12factor styl)
- máš více prostředí (lokál/staging/prod) a chceš konzistentní nastavení bez ručního klikání
- potřebuješ rychle ověřit SMTP credentials a vidět chyby srozumitelně (ne „něco se nepovedlo“).

## Instalace přes Composer

Balíček se instaluje standardně přes Composer vedle Acornu. V kořeni projektu spusť:

```
composer require roots/acorn-mail
```

## Základní konfigurace přes environment proměnné

Po instalaci stačí dodat SMTP nastavení přes env proměnné. Roots uvádí následující sadu:

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

Chování je jednoduché: jakmile Acorn Mail najde tyto hodnoty vyplněné (tj. nejsou prázdné), automaticky se „zahákne“ do WordPressu a nastaví SMTP na úrovni instance `PHPMailer`. Výhoda je, že nemusíš řešit vlastní hooky, ani mít aktivní samostatný SMTP plugin jen kvůli konfiguraci.

#### Poznámka k env přístupu

Konfigurace přes `.env` (resp. přes proměnné prostředí) se dobře verzovat nedá a ani nemá. Do repozitáře patří typicky jen `.env.example` a reálné hodnoty se doplňují na serveru / v CI.

## Pokročilé nastavení: publikování mail.php konfigurace

Pokud potřebuješ jemnější kontrolu, Acorn Mail umožňuje publikovat konfigurační soubor `mail.php`. Roots pro to dává CLI příkaz:

```
wp acorn mail:config
```

Tohle je užitečné ve chvíli, kdy základní env proměnné nestačí a chceš mít konfiguraci explicitně v projektu (samozřejmě pořád s rozumným zacházením se secret hodnotami podle toho, jak to máš nastavené v deploy pipeline).

## Test odeslání: konečně s použitelným výstupem

Největší praktická část je testovací příkaz přes Acorn CLI. Odeslání testovacího e-mailu spustíš takhle:

```
wp acorn mail:test [--to=]
```

Přepínač `--to=` umožní poslat test na konkrétní adresu. Podstatné je, že příkaz má podle oznámení čistě vypsat chyby, které během odesílání nastanou. V praxi to zkracuje debug z „zkusím plugin, zkusím jiné nastavení, kouknu do logů“ na jeden příkaz, který ti řekne, na čem to padá.

## Jak bych to používal v reálném projektu

Typický setup v modernějším WordPress projektu (Roots/Acorn) vypadá tak, že lokálně můžeš mít třeba sandbox SMTP (nebo úplně vypnuté odesílání) a staging/produkci už napojenou na reálného poskytovatele. S Acorn Mail se to překlápí čistě přes proměnné prostředí, takže stejné buildy běží všude a mění se jen konfigurace.

1. Nainstalovat balíček přes Composer.
2. Doplnit `MAIL_*` proměnné do prostředí (lokál přes `.env`, server přes secrets/CI).
3. Ověřit odesílání přes `wp acorn mail:test --to=...` a až pak řešit, jestli případná chyba je v DNS, portu, přihlašování nebo v providerovi.
4. Pokud je potřeba, publikovat `mail.php` přes `wp acorn mail:config` a doladit pokročilé volby.

## Shrnutí

Acorn Mail míří na konkrétní bolest: SMTP ve WordPressu často stojí na pluginech s omezeným debugem a někdy i bezpečnostními riziky. Roots k tomu přidává jednodušší, projektovější přístup – konfiguraci přes env proměnné, automatické napojení na `PHPMailer` a hlavně CLI test, který má smysluplně vypsat chyby při odesílání.

## Reference / Zdroje

- [Announcing Acorn Mail](https://roots.io/announcing-acorn-mail/)
- [roots/acorn-mail](https://github.com/roots/acorn-mail)
- [CVE-2023-6875](https://nvd.nist.gov/vuln/detail/CVE-2023-6875)
