WooCommerce přes SMTP relay: nastavení WP Mail SMTP nebo FluentSMTP krok za krokem
Jak přepnout odesílání e-mailů z WooCommerce z PHP mail() na SMTP relay smtp.topemail.cz. Nastavení pluginu WP Mail SMTP i FluentSMTP, kontrola odesílatele, testovací e-mail a nejčastější chyby včetně From adresy z neověřené domény.
WooCommerce odesílá potvrzení objednávek funkcí wp_mail(), která bez dalšího nastavení skončí u PHP mail() na webovém serveru. Výsledek je e-mail bez DKIM, z IP adresy sdíleného hostingu, který Gmail nebo Seznam rádi odloží do spamu. Řešení nevyžaduje zásah do kódu: nainstalujete SMTP plugin, zadáte pět hodnot a WooCommerce od té chvíle posílá přes smtp.topemail.cz z vaší ověřené domény. Celé nastavení zabere čtvrt hodiny.
Co potřebujete připravit
- Ověřenou doménu v TopEmail: TXT záznam
topemail._domainkey,include:spf.topemail.czv SPF a záznam_dmarc. Postup a kontrolu popisuje návod k SPF, DKIM a DMARC. Bez ověřené domény relay e-mail odmítne. - API klíč z dashboardu: skládá se z
clientId(přihlašovací jméno) asecret(heslo). - Plugin pro SMTP. WordPress sám SMTP neumí, pluginy WP Mail SMTP a FluentSMTP jsou zdarma a oba fungují stejně dobře. Vyberte jeden, dva SMTP pluginy vedle sebe se perou.
Hodnoty jsou pro oba pluginy stejné:
| Pole | Hodnota |
|---|---|
| SMTP Host | smtp.topemail.cz |
| Encryption | TLS (STARTTLS) |
| Port | 587 (alternativně SSL na 465) |
| Authentication | zapnuto |
| Username | CLIENT_ID |
| Password | SECRET |
| From Email | adresa na ověřené doméně, např. objednavky@vas-eshop.cz |
Varianta A: WP Mail SMTP
- Pluginy → Přidat nový → vyhledejte „WP Mail SMTP", nainstalujte a aktivujte. Průvodce po aktivaci můžete zavřít a jít rovnou do nastavení.
- WP Mail SMTP → Nastavení. V sekci Mailer zvolte Other SMTP (ikona obálky, ne Gmail ani Outlook).
- Vyplňte From Email adresou na ověřené doméně a zaškrtněte Force From Email. From Name například „Můj e-shop" a rovněž Force From Name, pokud chcete jednotného odesílatele pro všechny pluginy.
- V sekci Other SMTP zadejte host, šifrování TLS, port 587, zapněte Authentication a vložte
CLIENT_IDaSECRET. Nechte zapnuté Auto TLS. - Uložte. Pokud nechcete mít heslo v databázi, plugin umožňuje zadat údaje v
wp-config.php:
define( 'WPMS_ON', true );
define( 'WPMS_MAILER', 'smtp' );
define( 'WPMS_SMTP_HOST', 'smtp.topemail.cz' );
define( 'WPMS_SMTP_PORT', 587 );
define( 'WPMS_SSL', 'tls' );
define( 'WPMS_SMTP_AUTH', true );
define( 'WPMS_SMTP_USER', 'CLIENT_ID' );
define( 'WPMS_SMTP_PASS', 'SECRET' );
define( 'WPMS_MAIL_FROM', 'objednavky@vas-eshop.cz' );
define( 'WPMS_MAIL_FROM_FORCE', true );
Po přidání konstant se příslušná pole v administraci zamknou a plugin je bere z konfigurace.
Varianta B: FluentSMTP
- Nainstalujte a aktivujte „FluentSMTP". Při prvním otevření (Nastavení → FluentSMTP) nabídne výběr poskytovatele; zvolte Other SMTP.
- From Email a From Name vyplňte stejně jako výše, zaškrtněte Force Sender Email a případně Force Sender Name.
- Zadejte SMTP Host
smtp.topemail.cz, Port587, Encryption TLS, Use Auto TLS ano, Authentication ano, SMTP UsernameCLIENT_ID, SMTP PasswordSECRET. - Pokud zvolíte Store Access Keys in Config File, plugin ukáže dva řádky
define(...), které vložíte dowp-config.php, a heslo neuloží do databáze. - Uložte připojení. FluentSMTP umí mít víc připojení a směrovat podle From adresy; pro běžný e-shop stačí jedno, nastavené jako výchozí.
Odesílatel ve WooCommerce
Plugin řeší přenos, WooCommerce má ale vlastní nastavení odesílatele: WooCommerce → Nastavení → E-maily, dole sekce Možnosti odesílatele (From name, From address). Dejte tam stejnou adresu na ověřené doméně. Pokud tam zůstane vaseshop@gmail.com, relay zprávu odmítne, protože freemailovou doménu ověřit nelze, a volba „Force From Email" v pluginu to sice přepíše, ale je lepší mít obojí v souladu.
Adresa noreply@ funguje, ale zbytečně odrazuje od odpovědí. Lepší je objednavky@ nebo info@, kam vám odpověď zákazníka skutečně dorazí.
Test
- V pluginu otevřete Email Test (WP Mail SMTP) nebo záložku Email Test (FluentSMTP) a pošlete zprávu na svou adresu na Gmailu.
- V Gmailu otevřete e-mail, tři tečky → Zobrazit originál. V hlavičce musí být SPF, DKIM i DMARC
PASSa podpis DKIM sd=vas-eshop.cz. - V dashboardu TopEmail uvidíte e-mail v historii s kanálem
smtpa stavemsent, během chvíledelivered. Stejnou informaci dostane i webhook, pokud ho máte nastavený. - Udělejte testovací objednávku a zkontrolujte, že přišlo potvrzení zákazníkovi i notifikace administrátorovi.
Relay při přijetí zprávy odpovídá 250 2.0.0 Queued as <id>; id najdete v logu pluginu (WP Mail SMTP: Nástroje → Debug Events, FluentSMTP: Email Logs) a můžete se na něj zeptat přes GET /api/email/{id}.
Časté chyby
550 5.7.1 … from address is not on a verified domain je nejčastější. Zpráva odchází s From adresou, která není na doméně ověřené v TopEmail. Zdroje:
- WooCommerce má v „Možnosti odesílatele" jinou doménu než plugin;
- formulářový plugin (Contact Form 7, WPForms) dosazuje do From adresu návštěvníka, což je i bez relay špatně; nastavte From na svou adresu a adresu návštěvníka do Reply-To;
- web běží na jedné doméně a e-maily mají odcházet z jiné (
vas-eshop.czvs.firma.cz); ověřte v TopEmail obě, nebo zapněte „Force From Email".
535 5.7.8 Authentication credentials invalid: přehozené pole, mezera na konci hesla, nebo klíč zneplatněný v dashboardu. Zkopírujte clientId a secret znovu.
Časový limit spojení: hosting blokuje odchozí port 587. Zkuste port 465 se šifrováním SSL. Pokud nejde ani ten, požádejte hosting o povolení.
TLS vs. SSL: port 587 patří k volbě TLS (STARTTLS), port 465 k volbě SSL. Kombinace 587 + SSL nebo 465 + TLS skončí chybou „could not connect".
E-maily chodí, ale ne všechny: některý plugin obchází wp_mail() a volá vlastní odesílání. Zkontrolujte v logu pluginu, které zprávy relay vůbec dostal.
Kolik to stojí
Prvních 1 000 e-mailů měsíčně je zdarma, dál 0,06 Kč za e-mail bez měsíčního paušálu. Malý e-shop se 300 objednávkami měsíčně (potvrzení, expedice, notifikace adminovi) se do bezplatného limitu obvykle vejde.
Shrnutí
Ověřte doménu, nainstalujte WP Mail SMTP nebo FluentSMTP, zvolte „Other SMTP", zadejte smtp.topemail.cz, port 587, TLS, CLIENT_ID a SECRET, vynuťte From adresu na ověřené doméně a sjednoťte ji s nastavením WooCommerce. Testovací e-mail na Gmail s třemi PASS je důkaz, že to funguje. Proč to pomáhá a co se děje bez relay, rozebíráme v článku o tom, proč e-maily z e-shopu padají do spamu; další otázky k SMTP najdete v FAQ.
Transakční e-maily z vaší domény přes API nebo SMTP, od 0,025 do 0,06 Kč za e-mail podle objemu, prvních 1 000 e-mailů měsíčně zdarma. Registrace zdarma, bez platební karty.
Registrovat zdarma →