Sari la conținut

Email

Trimite emailuri tranzacționale din aplicația ta. Gestionează identitățile expeditorului și urmărește livrarea din Dashboard > Emails sau din SDK.

Fiecare aplicație Proyecta poate trimite emailuri tranzacționale. Verifică o identitate de expeditor, apoi trimite din codul aplicației tale — nu este necesar un cont separat la un furnizor de email.

Deschide Dashboard > Emails în builder. Tabul are două sub-taburi:

TabLa ce folosește
IdentitiesAdaugă și verifică adrese de email sau domenii expeditor
SentRăsfoiește emailurile trimise cu statusul livrării (sent, delivered, bounced etc.)

Poți adăuga o nouă identitate de expeditor și consulta istoricul livrărilor — totul fără să scrii cod.

  1. Creează și verifică o identitate de expeditor (o adresă de email sau un domeniu)
  2. Apelează proyecta.email.send() cu adresa verificată în câmpul from

Cea mai simplă variantă este să verifici o singură adresă de email.

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

Pentru a redeclanșa verificarea:

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

Pentru aplicațiile în producție, verifică întregul domeniu pentru a putea trimite de pe orice adresă din cadrul acestuia (hello@, support@, noreply@ etc.).

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

Verificarea domeniului prin DNS (generarea înregistrărilor SPF/DKIM și reverificarea) este planificată, dar nu este încă implementată.

Odată ce identitatea ta este verificată, trimite cu:

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 returnează obiectul complet al emailului trimis (inclusiv id, last_event și câmpurile mesajului), pe care îl poți folosi ulterior pentru a verifica statusul livrării.

Destinatari. to, cc și bcc acceptă o singură adresă sau un array.

Conținut. Furnizează html, text sau ambele. Pentru o livrabilitate optimă, include și o versiune text simplu.

Reply-to, antete personalizate, etichete de metadate. reply_to este suportat (se folosește prima adresă). Antetele personalizate și etichetele de metadate sunt acceptate de API, dar nu sunt încă transmise furnizorului de livrare.

Listează emailurile trimise (paginat) cu cel mai recent eveniment de livrare:

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'
}

Obține un singur email cu corpul complet HTML/text:

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

Nu trebuie să scrii asta manual:

  • "Verify hello@myapp.com as a sending identity."
  • "Send a welcome email with Proyecta Email whenever a new user signs up. Use a nice HTML template."
  • "After a successful checkout, send the customer a receipt using proyecta.email.send."
  • "Show me the last 20 emails we've sent and whether they bounced."
  • Adresa from trebuie să fie o identitate verificată. Trimiterea de pe o adresă neverificată returnează o eroare.
  • Se aplică limite lunare în funcție de planul tău Proyecta.
  • Editor de șabloane — proiectează șabloane tranzacționale vizual în builder
  • Endpoint de trimitere în masă/batch pentru emailuri în volum mare