Ga naar inhoud

E-mail

Verstuur transactionele e-mails vanuit je app. Beheer afzenderidentiteiten en volg bezorging via Admin > Email in je app.

Elke Proyecta-app kan transactionele e-mail versturen. Verifieer een afzenderidentiteit en verstuur daarna vanuit je app-code — geen apart e-mailprovideraccount nodig.

Open Admin > Email in de builder — of /admin op je gepubliceerde site. Het bestaat uit twee onderdelen:

Onderdeel Waarvoor
Identities Voeg afzender-e-mailadressen of domeinen toe en verifieer ze
Sent Bekijk verzonden e-mails met bezorgstatus (sent, delivered, bounced, enzovoort)

Je kunt een nieuwe afzenderidentiteit toevoegen en je e-mailbezorggeschiedenis bekijken — allemaal zonder code te schrijven.

  1. Maak een afzenderidentiteit aan en verifieer die (een e-mailadres of een domein) in je beheerpaneel
  2. Verstuur — vanuit je app met useSendEmail(), of vanuit het beheerpaneel voor campagnes

Versturen vanaf een gedeeld adres (@proyectamail.com)

Section titled “Versturen vanaf een gedeeld adres (@proyectamail.com)”

De eenvoudigste manier is een enkel adres op het gedeelde verzenddomein van Proyecta, @proyectamail.com, te claimen. Het wordt direct geverifieerd op het moment dat je het aanmaakt — het platform beheert dat domein al, dus er zijn geen DNS-records die jij hoeft in te stellen.

Dit doe je in de sectie Emails van het beheerpaneel van je app: voer het gewenste adres in en het is meteen klaar voor gebruik.

Enkelvoudige adressen werken alleen op @proyectamail.com. Een aanvraag voor een adres op een ander domein (bijv. hello@myapp.com) wordt geweigerd — om vanuit je eigen domein te versturen, verifieer je het volledige domein (zie hieronder). Elk gedeeld adres is wereldwijd gereserveerd, zodat geen twee apps als dezelfde @proyectamail.com-afzender kunnen versturen.

Om vanuit je eigen domein te versturen — vanaf elk adres daarbinnen (hello@, support@, noreply@, enzovoort) — verifieer je het volledige domein. Anders dan een gedeeld @proyectamail.com-adres wordt een eigen domein niet direct geverifieerd.

Voeg het domein toe in dezelfde sectie Emails. Het wordt geregistreerd bij de e-mailprovider en je krijgt de SPF-, DKIM- en DMARC-records te zien die je in je DNS moet publiceren. De afzender staat op pending totdat die records zijn doorgepropageerd en de provider ze heeft bevestigd — daarna schakelt hij over naar verified. Gebruik de hercontroleknop nadat je ze hebt gepubliceerd.

DNS-gebaseerde domeinverificatie is volledig geïmplementeerd — de records worden door de provider gegenereerd en elke hercontrole pollt hun status opnieuw.

Onder de motorkap: Proyecta authenticeert je verzenddomein bij zijn e-mailidentiteitsprovider (Resend) en bezorgt je berichten via zijn transactionele provider (SendGrid). Je beheert zelf geen account bij beide.

Vanuit de pagina’s van je app verstuur je met de useSendEmail()-hook. Je kiest een template en geeft variabelen mee; het platform rendert het bericht in de taal van de app en verstuurt het:

import { useSendEmail } from '@/hooks/useEmail.ts';
function ConfirmButton({ booking }) {
const { send, isPending, error } = useSendEmail();
return (
<button
disabled={isPending}
onClick={() =>
send({
template: 'booking_confirmation',
variables: { date: booking.date, service: booking.service },
})
}
>
Email me the details
</button>
);
}

Let op wat je niet meegeeft: een ontvanger, een onderwerp of HTML. Elke template bepaalt zelf zijn doelgroep:

  • self (boekings-/orderbevestigingen, welkomstberichten) → het eigen adres van de ingelogde gebruiker, afkomstig uit diens sessie.
  • owner (owner_alert) → de admins van je app.

Beide vereisen een actieve ingelogde sessie. Dit is een bewuste keuze, geen tekortkoming: de publishable key die de aanroep authenticeert, staat in je paginabron, waardoor een versturen naar een willekeurige ontvanger iedereen in staat zou stellen je app als spamrelay te gebruiken. Gebruik een formulier om jezelf te notificeren vanuit een anonieme bezoeker — formulierinzendingen mailen de eigenaar al automatisch en bevestigen aan de inzender, en dat pad is niet te vervalsen vanuit de browser.

Fouten komen terug als PlatformApiError: 401 (sessie vereist), 403 (template niet ingeschakeld voor deze app), 429 (rate limited — toon het bericht en bied een nieuwe poging aan), 422 (geen adres bekend).

Het tabblad Sent in je beheerpaneel toont alles wat je app heeft verstuurd met de meest recente bezorggebeurtenis — delivered, opened, clicked, bounced, complained — zodat je hier normaal gesproken helemaal geen code voor nodig hebt.

Elke vermelding heeft zijn status — sent, delivered, opened, clicked, bounced of complained — en je kunt elk bericht openen om de exacte HTML en tekst te lezen die zijn verstuurd. Als bezorgingen mislukken, is dit de eerste plek om te kijken.

Je hoeft dit niet met de hand te schrijven:

  • "Verify hello@myapp.com as a sending identity."
  • "Email the customer a confirmation after they finish booking."
  • "After a successful checkout, send the customer their receipt."
  • "Show me the last 20 emails we've sent and whether they bounced."
  • Het from-adres moet een geverifieerde identiteit zijn. Versturen met een niet-geverifieerd adres geeft een fout.
  • Maandelijkse limieten gelden op basis van je Proyecta-abonnement.
  • Template-editor — ontwerp transactionele templates visueel in de builder
  • Bulk/batch send endpoint voor massaverzendingen