Eingehende Anhänge
Der IMAP-Sync Worker extrahiert Anhänge beim MIME-Parsing automatisch:
- Mail wird mit
mailparser geparst
- Jeder Anhang wird in Supabase Storage hochgeladen
- Metadaten werden in
email_attachments gespeichert
has_attachments wird auf true gesetzt
Speicherort
Bucket: email-attachments (privat)
Pfad: {account_id}/{email_id}/{filename}
Limits
| Eigenschaft | Wert |
|---|
| Max. Dateigröße pro Anhang | 10 MB |
| Bucket-Typ | Privat (kein öffentlicher Zugriff) |
Anhänge über 10 MB werden übersprungen und im Log als Warning ausgegeben.
Ausgehende Anhänge
Beim Senden über die API werden Anhänge als Base64 im Request-Body übergeben:
{
"to": "kunde@example.com",
"subject": "Ihr Angebot",
"text_body": "Anbei das Angebot.",
"attachments": [
{
"filename": "Angebot-2026.pdf",
"content": "JVBERi0xLjQK...",
"content_type": "application/pdf"
}
]
}
Die API speichert den Anhang sowohl in Supabase Storage als auch als SMTP-Attachment in der versendeten Mail.
Das Request-Body-Limit der API liegt bei 15 MB (express.json({ limit: '15mb' })). Bei mehreren großen Anhängen kann das überschritten werden.
Inline-Bilder
Bilder die direkt im HTML-Body eingebettet sind (z.B. Signaturen) werden als Anhänge mit is_inline = true und einer content_id gespeichert. Sie erscheinen nicht in der Anhang-Liste, sind aber im HTML-Body referenziert.