WordpressBlog

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:

  1. SMTP server a port – např. mail.vasedomena.cz
  2. Uživatelské jméno a heslo – přihlašovací údaje k e-mailu pod vaší doménou
  3. Zabezpečení (TLS/SSL) – dle poskytovatele
  4. 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.