Proč už kontaktní formuláře ve WordPressu neposílají e-maily – a jak to opravit

Ještě donedávna fungovalo odesílání e-mailů z WordPress webů přes jednoduchou PHP funkci mail().
Byla to rychlá a univerzální cesta, jak odeslat zprávu z kontaktního formuláře nebo notifikaci z webu.
Jenže tahle éra definitivně končí.
Proč už PHP mail nefunguje
Změnila se pravidla hry.
Poskytovatelé hostingu i e-mailových služeb zpřísnili kontrolu kvůli ochraně proti spamu.
E-maily odeslané „jen tak“ přes PHP funkci už dnes většina serverů blokuje nebo označuje jako spam, protože:
- nemají ověřenou identitu domény (chybí DKIM podpis),
- neodpovídají SPF záznamům domény,
- často porušují DMARC politiku,
- nemají jasnou zpětnou adresu (envelope sender),
- a hlavně – odesílají se technicky z jiného serveru, než kam doména skutečně patří.
Co se děje na WordPress webech
V praxi to znamená, že:
- formulář sice „odeslán“ hlásí,
- zpráva se uloží do databáze (např. plugin Flamingo u Contact Form 7),
- ale e-mail se k vám vůbec nedostane.
Proto je Flamingo užitečné jako záložní archiv přijatých formulářů, ale neřeší doručitelnost.
Řešení: přejít na SMTP odesílání
Dnes je nutné nastavit SMTP plugin, který přebírá správnou autentizaci a odesílá e-maily „legitimní cestou“ – skrz skutečný poštovní server.
Doporučené pluginy:
- WP Mail SMTP (by WPForms)
- Post SMTP Mailer/Email Log
Co je potřeba nastavit:
- SMTP server a port – např.
mail.vasedomena.cz - Uživatelské jméno a heslo – přihlašovací údaje k e-mailu pod vaší doménou
- Zabezpečení (TLS/SSL) – dle poskytovatele
- Odesílací adresa – musí být na stejné doméně, kde běží WordPress
💡 Pokud používáte e-mail mimo doménu (např. Gmail, Seznam, Centrum), WordPress přes SMTP nebude korektně odesílat. Důležitá je „digitální stopa“ – doména webu a odesílatele se musí shodovat.
Tip: SPF, DKIM a DMARC
Pro maximální doručitelnost doporučujeme nastavit i DNS záznamy:
- SPF – povoluje server, který smí odesílat za doménu
- DKIM – elektronicky podepisuje zprávy
- DMARC – určuje politiku doručování (např.
v=DMARC1; p=quarantine;)
Shrnutí
- PHP funkce
mail()už pro WordPress nestačí - Odesílání zpráv z formulářů je potřeba řešit přes SMTP autentizaci
- Nastavte e-mail na své doméně, doplňte SPF/DKIM/DMARC
- Sledujte odeslané zprávy přes logovací pluginy nebo Flamingo
Pokud si nejste jistí nastavením, napište nám – na Partner Webu vám rádi SMTP správně zprovozníme.