Zum Inhalt springen

E-Mail

Sende transaktionale E-Mails aus deiner App. Verwalte Absenderidentitäten und verfolge die Zustellung über Dashboard > Emails oder das SDK.

Jede Proyecta-App kann transaktionale E-Mails versenden. Verifiziere eine Absenderidentität und sende dann direkt aus deinem App-Code — kein separates E-Mail-Provider-Konto erforderlich.

Öffne Dashboard > Emails im Builder. Der Tab enthält zwei Unter-Tabs:

TabVerwendungszweck
IdentitiesAbsender-E-Mail-Adressen oder Domains hinzufügen und verifizieren
SentGesendete E-Mails mit Zustellungsstatus durchsuchen (gesendet, zugestellt, bounced usw.)

Du kannst eine neue Absenderidentität hinzufügen und deinen E-Mail-Zustellungsverlauf einsehen — ganz ohne Code zu schreiben.

  1. Absenderidentität erstellen und verifizieren (eine E-Mail-Adresse oder eine Domain)
  2. proyecta.email.send() aufrufen mit der verifizierten Adresse im Feld from

Der einfachste Weg ist die Verifizierung einer einzelnen E-Mail-Adresse.

import Proyecta from '@proyecta-ai/sdk';
const proyecta = new Proyecta({ apiKey: process.env.PROYECTA_API_KEY });
const identity = await proyecta.email.identities.create({
type: 'email',
value: 'hello@myapp.com',
});
// identity.status === 'verified' immediately upon creation

Um die Verifizierungsprüfung erneut auszulösen:

await proyecta.email.identities.verify({ identityId: identity.id });

Für Produktions-Apps empfiehlt es sich, die gesamte Domain zu verifizieren, damit du von jeder Adresse dieser Domain senden kannst (hello@, support@, noreply@ usw.).

const identity = await proyecta.email.identities.create({
type: 'domain',
value: 'myapp.com',
});
// identity.status === 'verified' immediately upon creation

DNS-basierte Domain-Verifizierung (SPF/DKIM-Record-Generierung und erneute Prüfung) ist geplant, aber noch nicht implementiert.

Sobald deine Identität verifiziert ist, kannst du wie folgt senden:

await proyecta.email.send({
from: 'Acme <hello@myapp.com>',
to: 'customer@example.com',
subject: 'Your receipt from Acme',
html: '<p>Thanks for your order — here are the details.</p>',
text: 'Thanks for your order — here are the details.',
});

send gibt das vollständige gesendete E-Mail-Objekt zurück (einschließlich id, last_event und den Nachrichtenfeldern), das du später zur Abfrage des Zustellungsstatus verwenden kannst.

Empfänger. to, cc und bcc akzeptieren jeweils eine einzelne Adresse oder ein Array.

Inhalt. Gib html, text oder beides an. Für beste Zustellbarkeit empfiehlt sich eine Nur-Text-Version.

Reply-to, benutzerdefinierte Header, Metadaten-Tags. reply_to wird unterstützt (es wird die erste Adresse verwendet). Benutzerdefinierte Header und Metadaten-Tags werden von der API akzeptiert, aber noch nicht an den Zustellungsanbieter weitergeleitet.

Gesendete E-Mails (paginiert) mit ihrem aktuellen Zustellungsereignis auflisten:

const { data: emails } = await proyecta.email.list({ limit: 20 });
for (const email of emails) {
console.log(email.subject, '', email.last_event);
// last_event: 'sent' | 'delivered' | 'opened' | 'clicked' | 'bounced' | 'complained'
}

Eine einzelne E-Mail mit vollständigem HTML-/Text-Body abrufen:

const full = await proyecta.email.get('email_abc123');
console.log(full.html, full.text, full.last_event);

Du musst das nicht alles von Hand schreiben:

  • „Verifiziere hello@myapp.com als Absenderidentität."
  • „Sende mit Proyecta Email eine Willkommens-E-Mail, sobald sich ein neuer Benutzer registriert. Verwende ein ansprechendes HTML-Template."
  • „Sende dem Kunden nach einem erfolgreichen Checkout eine Quittung mit proyecta.email.send."
  • „Zeige mir die letzten 20 gesendeten E-Mails und ob sie gebounced sind."
  • Die from-Adresse muss eine verifizierte Identität sein. Das Senden mit einer nicht verifizierten Adresse gibt einen Fehler zurück.
  • Es gelten monatliche Limits basierend auf deinem Proyecta-Plan.
  • Template-Editor — transaktionale Templates visuell im Builder gestalten
  • Bulk-/Batch-Send-endpoint für Massenmailings