Prechod z EmailJS
Frontmail je navrhnutý tak, aby prechod z EmailJS trval niekoľko minút: SDK pre prehliadač má rovnaké signatúry funkcií, REST API prijíma rovnaké polia a syntax šablón je pri jednoduchých šablónach kompatibilná.
Krok za krokom
Section titled “Krok za krokom”1. Vytvorte organizáciu a pripojte službu
Section titled “1. Vytvorte organizáciu a pripojte službu”Zaregistrujte sa na app.frontmail.dev a pripojte rovnakého poskytovateľa e-mailu, ktorého používate v EmailJS (pozrite si Služby). Ak ste používali službu Gmail alebo Outlook, pripojte ju znova cez OAuth; pri SMTP alebo API poskytovateľoch zadajte rovnaké prístupové údaje.
2. Znova vytvorte šablóny
Section titled “2. Znova vytvorte šablóny”Pre každú šablónu z EmailJS vytvorte šablónu vo Frontmaile. Skopírujte predmet, To, From, Reply-To a obsah. Potom kliknite na Zistiť zo šablóny a nastavte typy a povinnosť parametrov – rozdiely nájdete nižšie v časti syntax šablón.
3. Namapujte kľúče a ID
Section titled “3. Namapujte kľúče a ID”| EmailJS | Frontmail | Kde to nájdete |
|---|---|---|
Public Key (user_id) |
Verejný kľúč pk_… |
Zabezpečenie → Verejný kľúč |
Private Key (accessToken) |
Súkromný kľúč sk_… – iba na serveri |
Zabezpečenie → Súkromné kľúče (zobrazí sa iba raz) |
| Service ID | ID služby svc_… |
E-mailové služby |
| Template ID | ID šablóny tpl_… |
Šablóny |
| Domain allowlist | Povolené weby | Zabezpečenie → Povolené weby |
| reCAPTCHA | Cloudflare Turnstile s vlastným bezplatným widgetom | Kľúče v Zabezpečenie → Ochrana pred botmi (Turnstile), pri každej šablóne Nastavenia → Ochrana → Vyžadovať CAPTCHA (Turnstile) |
4. Zmeňte import
Section titled “4. Zmeňte import”import emailjs from '@emailjs/browser';import emailjs from '@frontmail/emailjs-compat';Vaše volania emailjs.init(), emailjs.send() a emailjs.sendForm() fungujú ďalej – mení sa len
ID a kľúč. Pozrite si Kompatibilita s EmailJS.
Používate skript z CDN? Nahraďte <script> EmailJS buildom compat, ktorý poskytuje rovnaký
globálny objekt emailjs, takže vaše volania zostanú bez zmeny:
<script src="https://cdn.jsdelivr.net/npm/@frontmail/emailjs-compat@0.1.0/dist/emailjs-compat.umd.js" integrity="sha384-RH+fuNzBqTKgxDJBHRmWfOn37fs33L+Or1ujDV7wThynx9FxD9uPptLu80LpCrEc" crossorigin="anonymous"></script>Pripnite presnú verziu a ponechajte atribút integrity – kde nájdete hash novších verzií, popisuje
časť Pripnutie verzie.
Prípadne načítajte natívne SDK (@frontmail/browser, s rovnakým pripnutím verzie) a volania
emailjs. premenujte na frontmail. – argumenty sú rovnaké, ale promise sa namiesto 200 vyrieši
so status: 'queued' alebo 'held'.
Voláte REST API priamo? Zmeňte host na https://api.frontmail.dev. Cesty /api/v1.0/email/send
a /api/v1.0/email/send-form aj polia v tele požiadavky zostávajú rovnaké.
5. Turnstile namiesto reCAPTCHA
Section titled “5. Turnstile namiesto reCAPTCHA”Ak vaše šablóny používali reCAPTCHA, odstráňte widget reCAPTCHA a pridajte Turnstile. Rovnako ako
pri reCAPTCHA používate kľúče z vlastného účtu: vytvorte si v Cloudflare bezplatný widget Turnstile,
vložte jeho kľúče do Zabezpečenie → Ochrana pred botmi (Turnstile) a kliknite na Zapnúť
CAPTCHA pre všetky šablóny; nové šablóny ju potom vyžadujú predvolene. Widget so svojím site key
umiestnite do formulára – pozrite si Turnstile. Pole
g-recaptcha-response sa nepoužíva.
6. Otestujte a prepnite
Section titled “6. Otestujte a prepnite”Pošlite test z editora šablón, nasaďte zmeny a sledujte Históriu. Účet v EmailJS si ponechajte, kým neuvidíte, že cez Frontmail prechádza skutočná prevádzka.
7. Voliteľne: prejdite na natívne SDK
Section titled “7. Voliteľne: prejdite na natívne SDK”@frontmail/browser alebo SDK pre framework vám dá typované parametre, stav held, getStatus()
a typované chyby.
Syntax šablón
Section titled “Syntax šablón”Frontmail používa Handlebars; EmailJS používa syntax podobnú Mustache. Bežné prípady:
| EmailJS | Frontmail | Poznámky |
|---|---|---|
{{name}} |
{{name}} |
Rovnaké. Vo Frontmaile sa vždy escapuje pre HTML. |
{{{html_content}}} |
{{html_content}} s parametrom typu html |
Trojité zátvorky vo Frontmaile escapovanie nevypínajú; použite vyčistený typ html. |
Sekcie v štýle {{#if}} z Mustache {{#name}}…{{/name}} |
{{#if name}}…{{/if}} |
Použite explicitné bloky Handlebars. |
Invertovaná sekcia Mustache {{^name}}…{{/name}} |
{{#unless name}}…{{/unless}} |
|
| Zoznamy cez sekcie | {{#each items}}…{{/each}} s parametrom typu list |
Na validáciu definujte itemFields. |
| – | {{formatDate}}, {{formatMoney}}, {{eq}}… |
Ďalšie helpery. |
Predvolené hodnoty nastavené v poliach šablóny EmailJS zodpovedajú vo Frontmaile hodnote default
parametra.
Porovnanie
Section titled “Porovnanie”Vecné porovnanie funkcií dôležitých pre prechod, k septembru 2026. Ceny a limity oboch služieb sa časom menia – pred rozhodnutím si overte informácie na stránkach samotných poskytovateľov.
| EmailJS | Frontmail | |
|---|---|---|
| Keď sa minie mesačná kvóta | Požiadavky sa odmietajú až do ďalšieho obdobia alebo prechodu na vyšší tarif | Správy sa pozdržia a odošlú sa automaticky po pridaní kreditov; voliteľne prečerpanie a automatické dobíjanie |
| Predplatené kreditové balíky s platnosťou | Neponúka | Balíky 5k / 25k / 100k s platnosťou 3–12 mesiacov, v každom tarife |
| Rate limit REST API | 1 požiadavka za sekundu | 2–50 požiadaviek za sekundu podľa tarifu a k tomu /v1/send-batch |
| Jazyk šablón | Premenné s jednoduchými sekciami | Handlebars s podmienkami, cyklami, helpermi a typovanými, validovanými parametrami |
| CAPTCHA | reCAPTCHA v2 | Cloudflare Turnstile, jedným kliknutím pre všetky šablóny |
| Záložný poskytovateľ | Neponúka | Záložná služba pre každú šablónu, denné kontroly stavu |
| Sledovanie doručenia | Neponúka | Doručené / nedoručené / sťažnosti / otvorené / kliknutia cez webhooky poskytovateľov |
| Opakovanie pokusov a idempotencia v SDK | Nie je zdokumentované | Automatické opakovanie s idempotency keys |
| SDK pre frameworky | SDK pre prehliadač, SDK pre React Native | Prehliadač, React, React Native, Vue, Svelte, Node, kompatibilné s EmailJS |
Ak tu nájdete neaktuálne tvrdenie, dajte nám vedieť na support@frontmail.dev a opravíme ho.