Mejl — Zkrinet-plugin
På Zkrinet: lägg till blocket under Byggblock i panelen — ett klick, din egen kod rörs inte och en ögonblicksbild tas först. Installationsstegen nedan gäller om du kör PocketBase själv, till exempel efter en export.
Färdiga mejlmallar som du redigerar i adminpanelen, en funktion för att skicka dem och en logg över allt som skickats. Testat mot PocketBase 0.40.4.
#Installera
Kopiera pb_hooks/ och pb_migrations/ in i ditt projekt och starta om. Mejlen skickas via din egen SMTP — ställ in den under Settings → Mail settings i adminpanelen.
#Det här får du
zk_mejlmallar— tre färdiga mallar på svenska:valkomst,notis,kvitto. Ändra text, ämne och utseende direkt i adminpanelen. Variabler skrivs{{namn}}.{{app}}är alltid ditt appnamn.zk_mejllogg— varje utskick med mottagare, mall och om det gick fram eller inte.- Välkomstmejl när någon skapar ett konto i
users. Av som standard — slå på genom att kryssa i aktiv på mallenvalkomst.
#Skicka från din kod
I en egen hook (pb_hooks/*.pb.js):
const mejl = require(`${__hooks}/zk_mejl_lib.js`)
mejl.skicka($app, "notis", "anna@exempel.se", { namn: "Anna", rubrik: "Ny kommentar", meddelande: "Någon svarade dig." })
Eller via API (kräver superuser — anropa från din server, aldrig från webbläsaren):
POST /api/zk/mejl {"mall": "kvitto", "till": "anna@exempel.se", "data": {"namn": "Anna", "belopp": "99 kr", ...}}
#Extra huvuden (för andra plugins)
Ett femte argument till skicka sätter vitlistade huvuden — inget annat går igenom:
mejl.skicka($app, "notis", "anna@exempel.se", { ... }, { svara_till: "bo@exempel.se", avregistrera: "https://…", ett_klick: true })
svara_till → Reply-To (en enda giltig adress). avregistrera → List-Unsubscribe (bara https), ett_klick → List-Unsubscribe-Post (RFC 8058). Värden med radbrytningar eller fel format ignoreras tyst — mejlet går iväg utan huvudet.
#Säkerhet
- Variabler HTML-skyddas automatiskt i HTML-delen —
<script>blir text. - Radbrytningar i ämnesraden tas bort, så ingen kan smyga in extra mottagare.
- Mallarna och loggen är bara läsbara för superuser.
- Ett trasigt mejl stoppar aldrig att ett konto skapas; felet hamnar i loggen.
#Begränsningar
- Inga bilagor än.
- Mejlen skickas direkt, utan kö: om din SMTP är nere loggas felet men mejlet försöks inte igen.