Přeskočit na obsah

Přílohy a vložené obrázky

Frontmail podporuje čtyři způsoby, jak k e-mailu přidat soubory. Přílohy jsou dostupné v placených tarifech; maximální celková velikost na jeden požadavek závisí na tarifu (viz Tarify).

Způsob Kde se nastavuje K čemu
Statické přílohy Nastavení šablony Stejný soubor v každém e-mailu (ceník, PDF s obchodními podmínkami)
Dynamické base64 attachments v požadavku na odeslání Malé generované soubory (≤ několik stovek kB)
Uploady POST /v1/uploads, pak attachments: [{ upload_id }] Větší soubory, soubory vybrané uživateli
Soubory z formuláře Souborové inputy v sendForm() / /v1/send-form Soubory přiložené k HTML formuláři

Statické přílohy jsou soubory, které se přiloží ke každému e-mailu odeslanému s danou šablonou (nejvýš 10 na šablonu). Ukládají se v S3 a započítávají se do limitu velikosti požadavku. Editor šablony je vypisuje v Nastavení → Ochrana → Pevné přílohy; nahrát je z dashboardu zatím nejde – pokud nějakou potřebujete nastavit, napište na support@frontmail.dev.

Nejdřív v Nastavení → Ochrana šablony zapněte Povolit přílohy z formuláře; jinak požadavky s přílohami skončí chybou attachments_not_allowed.

await send('svc_01J9…', 'tpl_invoice', { name: 'Jana' }, {
attachments: [
{ filename: 'invoice.pdf', contentType: 'application/pdf', contentBase64: pdfBase64 },
],
});
"attachments": [
{ "filename": "invoice.pdf", "content_type": "application/pdf", "content_base64": "JVBERi0xLjcK…" }
]

Base64 zvětší požadavek o třetinu – na cokoli většího než pár stovek kilobajtů použijte uploady.

  1. Vyžádejte si URL pro upload (public key nebo private key):

    Terminál
    curl https://api.frontmail.dev/v1/uploads \
    -H 'Content-Type: application/json' \
    -H 'X-Frontmail-Public-Key: pk_4f2a…' \
    -d '{ "filename": "cv.pdf", "content_type": "application/pdf", "size": 482113 }'
    {
    "upload_id": "upl_01J9Z3",
    "url": "https://uploads.frontmail.dev/…",
    "method": "PUT",
    "headers": { "Content-Type": "application/pdf" },
    "expires_at": "2026-09-24T11:00:00Z"
    }
  2. Před expires_at nahrajte soubor metodou PUT na url s vrácenými headers.

  3. Odkažte na něj při odeslání: "attachments": [{ "upload_id": "upl_01J9Z3" }].

Deklarovaná size se kontroluje proti limitu tarifu hned na začátku (attachment_too_large) a uložený objekt se kontroluje znovu při odesílání zprávy.

Se sendForm() se každý <input type="file"> ve formuláři stane přílohou:

<input type="file" name="cv" accept="application/pdf">

Blokované typy a názvy souborů

Sekce “Blokované typy a názvy souborů”

Dynamické přílohy může poslat kdokoli, kdo použije váš formulář, a proto Frontmail odmítá typy souborů, které spouštějí kód nebo se běžně zneužívají k phishingu, chybou attachments_not_allowed: spustitelné soubory a instalátory (.exe, .msi, .msix, .appx, .scr, .com, .bat, .cmd, .cpl, .dll, .jar, .app, .pkg, …), skripty (.js, .jse, .vbs, .wsf, .ps1, .hta, …), zástupce (.lnk, .url, .library-ms, …), obrazy disků (.iso, .img, .vhd, .vhdx, .dmg), webové stránky a vektorové obrázky (.html, .htm, .xhtml, .mht, .svg), OneNote (.one) a soubory Office s makry (.docm, .xlsm, .pptm, …). Názvy souborů nejdřív vyčistíme: odstraníme neviditelné znaky a znaky pro psaní zprava doleva (kterými se faktura<U+202E>fdp.exe maskuje jako fakturaexe.pdf) a tečky či mezery na konci, takže report.exe. se počítá jako .exe.

S public key navíc POST /v1/uploads vyžaduje aspoň jednu šablonu, která přílohy z formuláře povoluje, a nahrávání má společný denní limit 200 × limit příloh vašeho tarifu na organizaci.

Máte dvě možnosti:

  • Hostované obrázky – v <img src> použijte absolutní https:// URL. Nejlepší pro loga a dekorace: e-maily zůstanou malé a klienti obrázky načtou podle potřeby.
  • CID obrázky – statická příloha s content ID, např. logo, na kterou odkážete jako <img src="cid:logo" alt="Example s.r.o.">. Obrázek je vložený přímo v e-mailu, takže se zobrazí i při blokování externích obrázků, ale každý e-mail tím zvětší.

U obrázků vždy vyplňte alt – kontroly šablony upozorní, když chybí.