PrestaShop 8: nastavení SMTP pro odesílání e-mailů a co zkontrolovat, když nechodí
Krok za krokem nastavení vlastního SMTP serveru v PrestaShopu 8 (Pokročilé parametry → E-mail): hodnoty pro smtp.topemail.cz, kde se bere adresa odesílatele, testovací e-mail a seznam věcí, které zkontrolovat, když potvrzení objednávek nechodí.
PrestaShop má na rozdíl od WordPressu nastavení SMTP přímo v administraci, takže k přepnutí na relay nepotřebujete žádný modul. Ve výchozím stavu používá PHP funkci mail() a posílá z webového serveru hostingu, odkud e-maily často končí ve spamu. Po přepnutí na smtp.topemail.cz odcházejí s DKIM podpisem vaší domény, z adres s hlídanou reputací a s doručenkou u každé zprávy. Nastavení je jedna obrazovka, většinu článku tvoří to, co zkontrolovat, když potom něco nefunguje.
Před nastavením
- Ověřte doménu v TopEmail: TXT záznam
topemail._domainkey,include:spf.topemail.czv SPF a záznam_dmarc. Kontrolu popisuje návod k SPF, DKIM a DMARC. - Vygenerujte API klíč:
clientIdje přihlašovací jméno pro SMTP,secretheslo. - Zjistěte, odkud e-shop posílá. Adresa odesílatele u PrestaShopu není v nastavení SMTP, ale jinde (viz dále), a musí být na ověřené doméně.
Nastavení SMTP
V administraci otevřete Pokročilé parametry → E-mail (Advanced Parameters → E-mail). V horní části stránky je sekce E-mail:
- U volby Odesílat e-maily zvolte Nastavit vlastní parametry SMTP (Set my own SMTP parameters). Objeví se další pole.
- Název domény pro e-mail (Mail domain name): vaše doména, např.
vas-eshop.cz. PrestaShop ji použije v SMTP příkazuEHLO. - SMTP server:
smtp.topemail.cz - Uživatelské jméno SMTP:
CLIENT_ID - Heslo SMTP:
SECRET - Šifrování:
TLS - Port:
587 - Uložte.
Pokud hosting blokuje port 587, použijte Šifrování SSL a Port 465. Kombinace TLS s portem 465 nebo SSL s portem 587 nefunguje; obě hodnoty musí sedět k sobě.
Na stejné stránce ponechte Odesílat e-maily jako na HTML i text (both). Transakční e-mail bez textové verze je u některých příjemců hodnocen hůř.
Odkud se bere adresa odesílatele
PrestaShop skládá odesílatele z několika míst a všechna musí vést na ověřenou doménu:
- Nastavení obchodu → Kontakt → Obchody (Shop Parameters → Contact → Stores), dole v Kontaktní údaje pole E-mail obchodu. Odtud se bere odesílatel většiny zákaznických e-mailů.
- Zákazníci → Kontakty (Customers → Contacts): adresy pro „Webmaster" a „Zákaznický servis", které slouží jako příjemci zpráv z kontaktního formuláře a v některých šablonách jako odesílatel.
- Pokročilé parametry → E-mail, pokud vaše verze nabízí vlastní adresu pro notifikace o nových objednávkách (modul E-mailová upozornění,
ps_emailalerts). Příjemce tam může být kdokoli, odesílatel ale zůstává adresa obchodu.
Pokud máte v „E-mail obchodu" freemail (vaseshop@seznam.cz), relay zprávu odmítne s 550 5.7.1, protože doménu seznam.cz nejde ověřit. Změňte adresu na objednavky@vas-eshop.cz nebo podobnou.
Test
Dole na stránce Pokročilé parametry → E-mail je sekce Otestovat nastavení e-mailu. Zadejte svou adresu na Gmailu a klikněte Odeslat testovací e-mail.
- Pokud PrestaShop zobrazí zelenou hlášku, zprávu předal. Pokud červenou, text chyby je přímo odpověď SMTP serveru, viz níže.
- V Gmailu otevřete zprávu, tři tečky → Zobrazit originál. SPF, DKIM i DMARC musí být
PASS. - V dashboardu TopEmail se e-mail objeví v historii s kanálem
smtp; sledujte, kdy přejde zesentnadelivered. - Udělejte testovací objednávku s platbou na dobírku a zkontrolujte, že přišlo potvrzení zákazníkovi i notifikace (pokud máte modul E-mailová upozornění).
Když to nechodí: checklist
Chyba hned při testu
535 5.7.8 Authentication credentials invalid: přehozené uživatelské jméno a heslo, nebo mezera navíc při kopírování. Zkopírujte klíč znovu z dashboardu.550 5.7.1 … not on a verified domain: odesílatel z neověřené domény. Zkontrolujte „E-mail obchodu" a „Kontakty".Connection could not be established/ timeout: hosting blokuje odchozí port. Zkuste 465 + SSL, případně napište hostingu.Unable to connect with STARTTLS: ve volbě Šifrování jeSSLs portem 587 nebo naopak.
Test projde, ale objednávky nechodí
- V Pokročilé parametry → E-mail zapněte Zaznamenávat e-maily (Log e-mails). Pak uvidíte na téže stránce seznam, co se e-shop pokusil odeslat. Když tam potvrzení chybí, problém není v SMTP, ale v nastavení stavu objednávky: Objednávky → Stavy mají u každého stavu zaškrtávátko Odeslat e-mail zákazníkovi a přiřazenou šablonu.
- Vícejazyčný obchod: šablona pro daný jazyk nemusí existovat (
mails/cs/order_conf.html). PrestaShop ji pak tiše vynechá. - Cache: po změně nastavení vymažte cache (Pokročilé parametry → Výkon → Vymazat cache), zejména pokud používáte přepsané šablony.
Doručí se, ale do spamu
- „Zobrazit originál" v Gmailu ukazuje DKIM
FAILnebo chybí: doména v TopEmail není ověřená, nebo DNS záznam ještě není rozšířený. Počkejte hodinu a zkontrolujtedig TXT topemail._domainkey.vas-eshop.cz. - Na doméně jsou dva SPF záznamy. Musí být jeden, s více
include:. - Předmět a obsah: výchozí šablony PrestaShopu jsou v pořádku, ale šablony z tržišť někdy obsahují jen obrázky bez textu. Co má dobré potvrzení obsahovat, rozebíráme v anatomii potvrzení objednávky.
Některé moduly posílají jinak
Moduly, které obcházejí třídu Mail PrestaShopu a volají přímo PHP mail() nebo vlastní SMTP, nastavení v administraci ignorují. Poznáte to tak, že jejich e-maily nejsou v logu ani v dashboardu TopEmail. Buď mají vlastní nastavení SMTP, kam zadáte tytéž hodnoty, nebo je nahraďte.
Co dostanete navíc
Po přepnutí vidíte u každého e-mailu stav: delivered, bounced s důvodem od cílového serveru, nebo complained. Adresy, které se vrátily, jdou na blokovaný seznam automaticky; proč je to dobře, vysvětluje článek o bounce a suppression listu. Pokud chcete stav zpracovat ve vlastním systému, nastavte webhook. Cena je 0,06 Kč za e-mail, prvních 1 000 měsíčně zdarma, bez paušálu.
Shrnutí
Pokročilé parametry → E-mail → vlastní parametry SMTP: smtp.topemail.cz, port 587, TLS, CLIENT_ID a SECRET. Odesílatel se bere z „E-mail obchodu" v Nastavení obchodu → Kontakt a musí být na ověřené doméně. Testovací e-mail přes Gmail s třemi PASS, zapnuté logování e-mailů pro ladění stavů objednávky. Když si nebudete jistí, co vám server odpovídá, napište nám text chyby, poradíme.
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 →