Pièces jointes et images intégrées
Frontmail propose quatre façons d’ajouter des fichiers à un e-mail. Les pièces jointes sont disponibles sur les forfaits payants ; la taille totale maximale par requête dépend du forfait (voir Forfaits).
| Méthode | Configuration | Usage |
|---|---|---|
| Pièces jointes statiques | Paramètres du modèle | Le même fichier dans chaque e-mail (liste de prix, CGV en PDF) |
| Base64 dynamique | attachments dans la requête d’envoi |
Petits fichiers générés (≤ quelques centaines de ko) |
| Téléversements | POST /v1/uploads, puis attachments: [{ upload_id }] |
Fichiers plus volumineux, fichiers choisis par les utilisateurs |
| Fichiers de formulaire | Champs de fichier de sendForm() / /v1/send-form |
Fichiers joints à un formulaire HTML |
Pièces jointes statiques
Section intitulée « Pièces jointes statiques »Les pièces jointes statiques sont des fichiers joints à chaque e-mail envoyé avec le modèle (jusqu’à 10 par modèle). Elles sont stockées dans S3 et comptent dans la limite de taille par requête. L’éditeur de modèles les liste sous Paramètres → Protection → Pièces jointes statiques ; il n’est pas encore possible de les téléverser depuis le tableau de bord – écrivez à support@frontmail.dev si vous avez besoin d’en configurer une.
Pièces jointes dynamiques
Section intitulée « Pièces jointes dynamiques »Activez d’abord Autoriser les pièces jointes du formulaire dans Paramètres → Protection du
modèle ; sinon les requêtes contenant des pièces jointes échouent avec
attachments_not_allowed.
Base64 dans la requête
Section intitulée « Base64 dans la requête »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…" }]Le base64 augmente la taille de la requête d’un tiers – au-delà de quelques centaines de kilo-octets, utilisez les téléversements.
Téléversements
Section intitulée « Téléversements »-
Demandez une URL de téléversement (clé publique ou privée) :
Fenêtre de terminal 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"} -
Envoyez le fichier par
PUTversurlavec lesheadersrenvoyés, avantexpires_at. -
Référencez-le dans l’envoi :
"attachments": [{ "upload_id": "upl_01J9Z3" }].
La taille déclarée (size) est comparée dès le départ à la limite de votre forfait
(attachment_too_large), et l’objet stocké est
vérifié de nouveau au moment de l’envoi du message.
Fichiers de formulaire
Section intitulée « Fichiers de formulaire »Avec sendForm(), chaque <input type="file"> du formulaire devient une pièce jointe :
<input type="file" name="cv" accept="application/pdf">Types et noms de fichiers bloqués
Section intitulée « Types et noms de fichiers bloqués »Les pièces jointes dynamiques proviennent de toute personne pouvant utiliser votre formulaire :
Frontmail refuse donc, avec attachments_not_allowed,
les types de fichiers qui exécutent du code ou servent typiquement au phishing : exécutables et
programmes d’installation (.exe, .msi, .msix, .appx, .scr, .com, .bat, .cmd,
.cpl, .dll, .jar, .app, .pkg, …), scripts (.js, .jse, .vbs, .wsf, .ps1,
.hta, …), raccourcis (.lnk, .url, .library-ms, …), images disque (.iso, .img, .vhd,
.vhdx, .dmg), pages web et images vectorielles (.html, .htm, .xhtml, .mht, .svg),
OneNote (.one) et fichiers Office avec macros (.docm, .xlsm, .pptm, …). Les noms de
fichiers sont d’abord nettoyés : les caractères invisibles et de droite à gauche (utilisés pour
déguiser invoice<U+202E>fdp.exe en invoiceexe.pdf) ainsi que les points ou espaces finaux sont
supprimés, si bien que report.exe. est traité comme .exe.
Avec la clé publique, POST /v1/uploads nécessite aussi au moins un modèle qui autorise les
pièces jointes du formulaire, et les téléversements partagent un budget quotidien de 200 × la
limite de pièces jointes de votre forfait par organisation.
Images intégrées
Section intitulée « Images intégrées »Vous avez deux options :
- Images hébergées – utilisez une URL absolue
https://dans<img src>. Idéal pour les logos et les éléments décoratifs : les e-mails restent légers et les clients chargent les images à la demande. - Images CID – une pièce jointe statique avec un content ID, p. ex.
logo, référencée par<img src="cid:logo" alt="Example Ltd.">. L’image est intégrée à l’e-mail : elle s’affiche même quand les images distantes sont bloquées, mais elle alourdit chaque e-mail.
Renseignez toujours alt sur les images – les vérifications du modèle signalent son absence.