Salta ai contenuti

Email

Invia email transazionali dalla tua app. Gestisci le identità mittente e monitora la consegna da Dashboard > Emails o dall’SDK.

Ogni app Proyecta può inviare email transazionali. Verifica un’identità mittente, poi invia dal codice della tua app — nessun account separato presso un provider email richiesto.

Apri Dashboard > Emails nel builder. La scheda contiene due sotto-schede:

SchedaA cosa serve
IdentitiesAggiunge e verifica indirizzi email o domini mittente
SentSfoglia le email inviate con lo stato di consegna (sent, delivered, bounced, ecc.)

Puoi aggiungere una nuova identità mittente e consultare la cronologia delle consegne — tutto senza scrivere codice.

  1. Crea e verifica un’identità mittente (un indirizzo email o un dominio)
  2. Chiama proyecta.email.send() con l’indirizzo verificato nel campo from

Il metodo più semplice è verificare un singolo indirizzo 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

Per richiamare manualmente il controllo di verifica:

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

Per le app in produzione, verifica l’intero dominio così da poter inviare da qualsiasi indirizzo ad esso associato (hello@, support@, noreply@, ecc.).

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

La verifica del dominio tramite DNS (generazione di record SPF/DKIM e nuovo controllo) è pianificata ma non ancora implementata.

Una volta verificata l’identità, invia con:

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 restituisce l’oggetto email inviato completo (inclusi id, last_event e i campi del messaggio), che puoi usare in seguito per verificare lo stato di consegna.

Destinatari. to, cc e bcc accettano un singolo indirizzo o un array.

Contenuto. Fornisci html, text, o entrambi. Per una migliore deliverability, includi sempre una versione in testo semplice.

Reply-to, intestazioni personalizzate, tag di metadati. reply_to è supportato (viene usato il primo indirizzo). Le intestazioni personalizzate e i tag di metadati sono accettati dall’API, ma non vengono ancora inoltrati al provider di consegna.

Elenca le email inviate (con paginazione) con il loro ultimo evento di consegna:

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

Recupera una singola email con il corpo HTML/testo completo:

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

Non è necessario scrivere tutto a mano:

  • "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."
  • L’indirizzo from deve essere un’identità verificata. Inviare con un indirizzo non verificato restituisce un errore.
  • Si applicano limiti mensili in base al piano Proyecta scelto.
  • Editor di template — progetta template transazionali visivamente nel builder
  • Endpoint di invio in blocco/batch per invii massivi