E-maily pre frontendových vývojárov
Posielajte e-maily priamo z frontendu.Plaťte za špičky, nie celý rok.
Pripojte poskytovateľa, ktorého už používate, postavte si HTML šablónu s typovanými parametrami a zavolajte send() priamo z prehliadača. Keď sezóna prerastie vašu kvótu, nič sa nezahodí – správy počkajú vo fronte pozdržaných e-mailov a odídu hneď, ako si dokúpite kredity.
Tarif Free s 300 e-mailmi mesačne. Bez platobnej karty.
contact.js
import { init, sendForm } from '@frontmail/browser';
init({ publicKey: 'pk_live_2Jx8…' });
const form = document.querySelector('#contact');
form.addEventListener('submit', async (event) => {
event.preventDefault();
const { status } = await sendForm('svc_default', 'tpl_contact', form);
// 'queued' – or 'held' when you're out of credits. Never dropped.
});ContactForm.tsx
import { FrontmailProvider, useSendEmail } from '@frontmail/react';
function ContactForm() {
const { send, status } = useSendEmail('svc_default', 'tpl_contact');
return (
<form
onSubmit={(event) => {
event.preventDefault();
const { email, message } = Object.fromEntries(new FormData(event.currentTarget));
send({ email, message });
}}
>
<input name="email" type="email" required />
<textarea name="message" required />
<button disabled={status === 'sending'}>Send</button>
</form>
);
}
const options = { publicKey: 'pk_live_2Jx8…' };
// <FrontmailProvider options={options}><ContactForm /></FrontmailProvider>ContactForm.vue
<script setup lang="ts">
import { reactive } from 'vue';
import { useSendEmail } from '@frontmail/vue';
const { send, status } = useSendEmail('svc_default', 'tpl_contact');
const form = reactive({ email: '', message: '' });
</script>
<template>
<form @submit.prevent="send(form)">
<input v-model="form.email" type="email" required />
<textarea v-model="form.message" required />
<button :disabled="status === 'sending'">Send</button>
</form>
</template>ContactForm.svelte
<script lang="ts">
import { createFrontmail, frontmailForm } from '@frontmail/svelte';
const frontmail = createFrontmail({ publicKey: 'pk_live_2Jx8…' });
const { status } = frontmail;
</script>
<form use:frontmailForm={{ serviceId: 'svc_default', templateId: 'tpl_contact', frontmail }}>
<input name="email" type="email" required />
<textarea name="message" required></textarea>
<button disabled={$status === 'sending'}>Send</button>
</form>order-confirmation.ts
import { Frontmail } from '@frontmail/node';
const frontmail = new Frontmail({ privateKey: process.env.FRONTMAIL_PRIVATE_KEY });
await frontmail.send({
serviceId: 'svc_transactional',
templateId: 'tpl_order_confirmation',
params: {
customer_name: 'Jana',
order_id: 'A-1042',
items: [{ title: 'Ceramic mug', qty: 2 }],
},
});Ako to funguje
Od formulára do schránky v troch krokoch
Pripojte službu
Pripojte SMTP, Gmail, Outlook alebo transakčného poskytovateľa, napríklad Mailgun, Postmark či SES. Prístupové údaje sú šifrované a každý deň ich kontrolujeme.
Navrhnite HTML šablónu
Píšte plnohodnotné HTML s Handlebars, definujte typované parametre a sledujte živý náhľad na desktope aj mobile, vo svetlom aj tmavom režime.
Odošlite zo svojho kódu
Zavolajte send() s verejným kľúčom z akéhokoľvek frameworku – alebo zo servera so súkromným kľúčom. Opakované pokusy a idempotencia sú vstavané.
Žiadny stratený e-mail
Keď vám dôjdu kredity, o správu neprídete
Kvóty sa minú a OAuth tokeny vypršia. Frontmail berie oboje ako dôvod počkať, nikdy nie ako dôvod e-mail zahodiť.
frontmail.send()- Sú k dispozícii kredity?
- ÁnoZaradené a odoslanéNajprv kvóta, potom balík, ktorý vyprší najskôr.
- NieRezerva na prečerpanie+10 % mesačnej kvóty pri platených tarifoch, vyúčtované v nasledujúcej faktúre.
- Pozdržané, nie zahodenéAPI odpovie 202 so stavom "held". Správy počkajú až 3 dni pri tarife Free alebo 14 dní pri platených tarifoch.
- Uvoľnené automatickyNákup balíka, automatické dobíjanie, prechod na vyšší tarif alebo nové fakturačné obdobie odošle pozdržané e-maily, od najstarších.
- Poskytovateľ odmietol vaše prístupové údaje?
- Prevezme to záložná službaŠablóna môže mať určenú záložnú službu pre chyby overenia alebo trvalé chyby.
- Pozdržané do opravyBez zálohy sa správy pozdržia a odošlú sa znova, keď bude služba opäť v poriadku.
Fronta pozdržaných e-mailov
Nemáte kredit? Požiadavku prijmeme a uložíme. Skôr než čokoľvek vyprší, dostanete e-mail a pozdržané správy môžete hromadne uvoľniť alebo zahodiť.
Rezerva na prečerpanie
Platené tarify majú rezervu 10 % mesačnej kvóty, takže o niečo rušnejší mesiac jednoducho posiela ďalej.
Automatické dobíjanie
Vyberte si balík a hranicu – alebo dobíjajte pri prvej pozdržanej správe. Limity výdavkov chránia vašu kartu pred prekvapeniami.
Kontroly stavu a záložná služba
Každú službu kontrolujeme denne a pri každej chybe overenia. Nefunkčné prístupové údaje spustia upozornenie, banner v dashboarde a záložnú službu.
Upozornenia na spotrebu pri 50, 80 a 100 % a pri prvej pozdržanej správe.
Kreditové balíky
Nechajte si malý tarif. Na rušné mesiace si kúpte balíky.
Balíky sú jednorazové nákupy s platnosťou 3–12 mesiacov a fungujú pri každom tarife vrátane Free. Zadajte očakávaný počet e-mailov za mesiac a my nájdeme najlacnejšiu kombináciu.
5 000 e-mailov
platnosť 3 mesiace
10 €
2 € za 1 000
Kúpiť tento balík25 000 e-mailov
platnosť 6 mesiacov
39 €
1,56 € za 1 000
Kúpiť tento balík100 000 e-mailov
platnosť 12 mesiacov
129 €
1,29 € za 1 000
Kúpiť tento balík
Naše odporúčanie
Tarif Free
Balíky na nákup
- január: 1× balík 5 000 e-mailov10 €
- marec: 1× balík 25 000 e-mailov39 €
- júl: 1× balík 25 000 e-mailov39 €
- december: 1× balík 25 000 e-mailov39 €
- Tarif
- 0 €
- Balíky
- 127 €
- Spolu za rok
- 127 €
Tarif, ktorý by celý rok pokryl vašu špičku 25 000 e-mailov (Business 50k), by stál 468 €. Ušetríte 341 € (73 %).
Začať zadarmoFunkcie
Všetko, čo kontaktný formulár potrebuje – a oveľa viac
HTML šablóny so živým náhľadom
Plnohodnotné HTML, podmienky a cykly v Handlebars, typované parametre s validáciou, verzie s porovnaním a návratom späť.
Váš poskytovateľ, vaša reputácia
SMTP, Gmail, Outlook, Mailgun, SES, Postmark, Mailjet, Brevo a Resend so záložnou službou pre každú šablónu.
Vstavaná ochrana pred spamom
Cloudflare Turnstile na všetkých formulároch jedným klikom, zoznam povolených domén, limity na IP adresu aj kľúč, blokovanie headless prehliadačov a upozornenia na anomálie.
Prehľadávateľná história
Vykreslený obsah, parametre a časová os udalostí pre každú správu. Opätovné odoslanie jedným klikom, export do CSV.
Sledovanie doručenia
Doručené, vrátené, nahlásené ako spam, otvorené a prekliknuté – priamo z webhookov vášho poskytovateľa, s automatickým blokovaním trvalo nedoručiteľných adries.
Tímy, roly a MFA
Pozvite kolegov v role vlastníka, administrátora, vývojára, čitateľa alebo fakturácie. TOTP, záložné kódy a auditný záznam citlivých akcií.
SDK s typovanými parametrami
Vanilla JS, React, React Native, Vue, Svelte a Node. Spustite npx frontmail types a váš editor pozná každý parameter šablóny.
Chyby, ktoré sa vysvetlia samy
Jeden formát chýb s kódom, správou a odkazom do dokumentácie. SDK opakujú sieťové chyby a 5xx bez toho, aby niečo poslali dvakrát.
Poskytovatelia
Funguje s e-mailovou službou, ktorú už máte
Osobné schránky pre menšie weby, transakční poskytovatelia pre veľké objemy – a pre každého návod krok za krokom v dokumentácii.
- SMTPWebsupport, Zoho, vlastný server…SMTP
- GmailOAuth
- Outlook / Microsoft 365OAuth
- Amazon SESAPI
- MailgunEU / USAPI
- PostmarkAPI
- MailjetAPI
- BrevoAPI
- ResendAPI
Prečo nevolať API poskytovateľa priamo?
Amazon SES, Mailgun, Postmark alebo Gmail API e-mail doručia. Všetko okolo verejného formulára – kľúče, boty, výpadky, šablóny, história – však zostáva na vašom backende. Frontmail je ten backend a posiela ďalej cez vášho poskytovateľa.
| Čo potrebujete | Samotné API poskytovateľa | S Frontmailom |
|---|---|---|
| Posielanie z webu alebo mobilnej aplikácie | Potrebuje tajný API kľúč alebo OAuth token, ktorý sa nesmie dostať do prehliadača – takže si musíte postaviť a prevádzkovať vlastný backend. | Verejný kľúč a SDK pre web, React Native, Kotlin aj Swift. Žiadny server, ktorý by ste museli písať a strážiť. |
| Ochrana verejného formulára pred botmi | CAPTCHA, rate limity a kontrolu pôvodu musí doplniť váš backend. | Turnstile, povolené domény, limity na IP aj kľúč a uzamknutý obsah vždy, keď adresáta určuje formulár. |
| Vypršané prihlásenie alebo výpadok poskytovateľa | Odoslanie zlyhá a čo sa s e-mailom stane, rieši váš kód. | Denná kontrola služieb, záložná služba pri každej šablóne a nedoručené e-maily sa pozdržia a odídu po opätovnom pripojení. |
| Šablóny | Každý poskytovateľ má vlastný formát a API šablón – alebo máte HTML priamo v kóde. | HTML editor so živým náhľadom, typované parametre, verzie a jazykové varianty. Rovnaká šablóna funguje s každým poskytovateľom. |
| História a stav doručenia | Každý poskytovateľ hlási udalosti po svojom (webhooky, notifikácie cez SNS) a ukladať si ich musíte sami. | Jedna prehľadávateľná história so stavmi doručené, vrátené, sťažnosť, otvorené a kliknuté pri všetkých poskytovateľoch. |
| Zmena poskytovateľa | Prepísať integráciu. | Prepnete službu v dashboarde – kód zostane rovnaký. |
Frontmail vášho poskytovateľa nenahrádza – e-maily ďalej odchádzajú z vašej domény cez váš účet. Ak už máte backend, ktorý posiela veľké objemy, priame volanie poskytovateľa môže vyjsť lacnejšie. Názvy produktov sú ochranné známky ich vlastníkov.
Prechod z EmailJS
Zmeňte jeden import
Balík @frontmail/emailjs-compat ponúka rovnaké funkcie ako @emailjs/browser. Vytvorte si službu a šablónu vo Frontmaile, vymeňte import a kód si nechajte.
- 1Pripojte svoju e-mailovú službu a naimportujte HTML šablóny.
- 2Vymeňte import balíka a kľúče.
- 3Nasaďte. Neskôr môžete prejsť na @frontmail/browser kvôli typovaným parametrom.
- import emailjs from '@emailjs/browser';
+ import emailjs from '@frontmail/emailjs-compat';
emailjs.init({ publicKey: 'YOUR_PUBLIC_KEY' });
emailjs
.sendForm('YOUR_SERVICE_ID', 'YOUR_TEMPLATE_ID', '#contact-form')
.then((response) => console.log('SUCCESS', response.status));Porovnanie oboch služieb
| Situácia | EmailJS* | Frontmail |
|---|---|---|
| Minutá mesačná kvóta | Ďalšie požiadavky sa neodošlú, kým sa kvóta neobnoví alebo nezmeníte tarif. | Požiadavky prijmeme a pozdržíme až 14 dní (3 dni pri tarife Free), po dobití sa odošlú automaticky. |
| Rate limit REST API | 1 požiadavka za sekundu. | 2–50 požiadaviek za sekundu podľa tarifu a navyše endpoint na dávkové odosielanie. |
| Sezónna špička | Prejsť na vyšší tarif. | Tarif si necháte a dokúpite kreditový balík s platnosťou 3–12 mesiacov. |
* Údaje o EmailJS k septembru 2026 podľa emailjs.com/pricing. EmailJS je ochranná známka svojho vlastníka; Frontmail nie je s EmailJS nijako prepojený.
Porovnať Frontmail s ďalšími službamiCenník
Jednoduché tarify. Balíky na špičky.
Začnite zadarmo, na vyšší tarif prejdite, až budete potrebovať viac. Pri ročnej fakturácii ušetríte 20 %.
Free
300 e-mailov / mesiac
0 €/ mesiac
Navždy zadarmo
Začať zadarmo- Šablóny: 3
- Bez príloh
- História: 7 dní
- 1 používateľ
- 2 požiadaviek / sekundu
- Fronta pozdržaných e-mailov: 3 dni
- Povolené domény a Turnstile
- Päta „Odoslané cez Frontmail“
Starter
3 000 e-mailov / mesiac
7 €/ mesiac
84 € pri ročnej fakturácii
Vybrať Starter- Šablóny: 10
- Prílohy do 1 MB na požiadavku
- História: 30 dní
- 1 používateľ
- 5 požiadaviek / sekundu
- Fronta pozdržaných e-mailov: 14 dní
- Rezerva na prečerpanie 10 %
- Povolené domény a Turnstile
- Najobľúbenejší
Pro
10 000 e-mailov / mesiac
15 €/ mesiac
180 € pri ročnej fakturácii
Vybrať Pro- Neobmedzené šablóny
- Prílohy do 5 MB na požiadavku
- História: 90 dní
- Používatelia: 5
- 20 požiadaviek / sekundu
- Fronta pozdržaných e-mailov: 14 dní
- Rezerva na prečerpanie 10 %
- Povolené domény a Turnstile
Business
50 000 e-mailov / mesiac
39 €/ mesiac
468 € pri ročnej fakturácii
Vybrať Business 50k- Neobmedzené šablóny
- Prílohy do 25 MB na požiadavku
- História: 180 dní
- Neobmedzený počet používateľov
- 50 požiadaviek / sekundu
- Fronta pozdržaných e-mailov: 14 dní
- Rezerva na prečerpanie 10 %
- Povolené domény a Turnstile
Úrovne Business
Kreditové balíky
Jednorazový nákup dostupný pri každom tarife. Čerpajú sa po mesačnej kvóte, najskôr tie, ktoré vypršia ako prvé.
Porovnanie všetkých tarifov
| Tarif | Free | Starter | Pro | Business 50k | Business 100k | Business 200k |
|---|---|---|---|---|---|---|
| Cena / mesiac | 0 € | 7 € | 15 € | 39 € | 71 € | 127 € |
| E-maily / mesiac | 300 | 3 000 | 10 000 | 50 000 | 100 000 | 200 000 |
| Šablóny | 3 | 10 | Neobmedzene | Neobmedzene | Neobmedzene | Neobmedzene |
| Prílohy | – | 1 MB | 5 MB | 25 MB | 25 MB | 25 MB |
| História | 7 dní | 30 dní | 90 dní | 180 dní | 180 dní | 180 dní |
| Používatelia | 1 | 1 | 5 | Neobmedzene | Neobmedzene | Neobmedzene |
| Rate limit | 2 rps | 5 rps | 20 rps | 50 rps | 50 rps | 50 rps |
| Prečerpanie | – | 10 % | 10 % | 10 % | 10 % | 10 % |
| Fronta pozdržaných | 3 dni | 14 dní | 14 dní | 14 dní | 14 dní | 14 dní |
Ceny sú bez DPH. Firmám v EÚ s platným IČ DPH fakturujeme v režime prenesenia daňovej povinnosti.
Otázky k fakturácii
Prenáša sa nevyčerpaná kvóta?
Nie – mesačná kvóta sa obnovuje s každým fakturačným obdobím. Kreditové balíky sú iné: platia 3, 6 alebo 12 mesiacov, takže ich kupujte, až keď ich budete potrebovať.
Čo sa stane, keď mi dôjdu kredity?
Platené tarify najprv čerpajú rezervu na prečerpanie. Potom sa nové správy pozdržia (neodmietnu) a odídu automaticky, keď si kúpite balík, zapne sa automatické dobíjanie, prejdete na vyšší tarif alebo začne nové obdobie. Ak dávate prednosť jasnej chybe, prepnite organizáciu do režimu odmietania a API vráti 402.
Ako sa účtuje prečerpanie?
Kredity z rezervy, ktoré ste skutočne použili, pripočítame k nasledujúcej faktúre. Nevyužité prečerpanie nič nestojí.
Môžem tarif zmeniť alebo zrušiť?
Prechod na vyšší tarif platí okamžite s pomerným doplatkom. Prechod na nižší tarif a zrušenie nadobudnú účinnosť na konci zaplateného obdobia. Už kúpené balíky platia až do vypršania.
V akej mene budem platiť?
Zákazníci fakturovaní v EÚ platia v eurách, všetci ostatní v amerických dolároch. DPH sa vypočíta pri platbe podľa krajiny fakturácie a IČ DPH.
Ako môžem platiť?
Kartou, cez Apple Pay alebo Google Pay a tam, kde je to dostupné, aj inkasom SEPA. Ku každej platbe dostanete faktúru, ktorú si stiahnete z dashboardu.
Časté otázky
Často kladené otázky
Je bezpečné dať verejný kľúč do frontendu?
Áno. Verejný kľúč dokáže posielať iba vaše šablóny, iba z domén na vašom zozname povolených domén a za ochranou Turnstile a limitov. Súkromné kľúče patria iba na server, nikdy nie do kódu v prehliadači.
Potrebujem vlastného e-mailového poskytovateľa?
Áno – Frontmail posiela cez službu, ktorú pripojíte, takže správy odchádzajú z vašej domény a pod vašou reputáciou. Pre malý web stačí aj osobný účet Gmail alebo Outlook.
Čo obsahuje tarif Free?
300 e-mailov mesačne, šablóny (max. 3), ochranu pred spamom a históriu za 7 dní. E-maily obsahujú malú pätu „Odoslané cez Frontmail“. Kreditové balíky si môžete kúpiť aj pri tarife Free.
Kde sú uložené moje dáta?
V regióne AWS eu-central-1 (Frankfurt, Nemecko). Prístupové údaje k poskytovateľom sú šifrované pomocou AWS KMS. Históriu správ uchovávame len tak dlho, ako to umožňuje váš tarif.
Čo ak vyprší pripojenie ku Gmailu alebo Outlooku?
Každú službu kontrolujeme denne a hneď po chybe overenia. Dostanete e-mail a banner v dashboarde; správy použijú záložnú službu alebo počkajú ako pozdržané, kým sa znova nepripojíte.
Môžem posielať aj zo servera?
Áno. Node SDK a REST API prijímajú súkromný kľúč, ktorý preskočí kontrolu pôvodu aj CAPTCHA a odomkne dávkové odosielanie až 100 správ v jednej požiadavke.
Prečo Frontmail, a nie rovno Amazon SES, Mailgun alebo Gmail API?
Používate ich spolu. Tieto API potrebujú tajný kľúč, takže ich nemožno volať z prehliadača ani z aplikácie. Frontmail stojí medzi nimi: stráži prihlasovacie údaje, chráni formulár pred botmi, vykreslí šablónu a pošle e-mail cez poskytovateľa, ktorého pripojíte.
Môžem posielať e-maily cez Amazon SNS?
SNS je notifikačná služba: jej e-mailové odbery posielajú čisto textové upozornenia na adresy, ktoré odber potvrdili. Hodí sa na prevádzkové upozornenia, nie na e-maily pre zákazníkov. Pre e-maily z vašej domény pripojte Amazon SES – Frontmail z jeho notifikácií cez SNS urobí stavy správ.
Spustite formulár ešte dnes. Rušnej sezóny sa už nebojte.
Tarif Free, bez karty, s plným API. Na vyšší tarif prejdite alebo balík dokúpte, keď si to vaša návštevnosť vypýta.