Aller au contenu

Email

Envoyez des e-mails transactionnels depuis votre app. Gérez les identités d’expéditeur et suivez les livraisons depuis Dashboard > Emails ou le SDK.

Chaque app Proyecta peut envoyer des e-mails transactionnels. Vérifiez une identité d’expéditeur, puis envoyez depuis le code de votre app — aucun compte chez un prestataire e-mail distinct n’est nécessaire.

Ouvre Dashboard > Emails dans le builder. L’onglet comprend deux sous-onglets :

OngletÀ quoi il sert
IdentitiesAjouter et vérifier des adresses e-mail ou des domaines d’expéditeur
SentParcourir les e-mails envoyés avec leur statut de livraison (sent, delivered, bounced, etc.)

Tu peux ajouter une nouvelle identité d’expéditeur et consulter l’historique de tes livraisons — sans écrire une seule ligne de code.

  1. Créer et vérifier une identité d’expéditeur (une adresse e-mail ou un domaine)
  2. Appeler proyecta.email.send() avec l’adresse vérifiée dans le champ from

La solution la plus simple est de vérifier une seule adresse e-mail.

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

Pour déclencher à nouveau la vérification :

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

Pour les apps en production, vérifie l’intégralité du domaine afin de pouvoir envoyer depuis n’importe quelle adresse associée (hello@, support@, noreply@, etc.).

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

La vérification de domaine par DNS (génération et recheck des enregistrements SPF/DKIM) est prévue mais pas encore implémentée.

Une fois ton identité vérifiée, envoie avec :

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 retourne l’objet complet de l’e-mail envoyé (incluant id, last_event et les champs du message), que tu peux utiliser pour vérifier le statut de livraison ultérieurement.

Destinataires. to, cc et bcc acceptent tous une adresse unique ou un tableau d’adresses.

Contenu. Fournis html, text, ou les deux. Pour une meilleure délivrabilité, inclus une version en texte brut.

Reply-to, en-têtes personnalisés, tags de métadonnées. reply_to est pris en charge (première adresse utilisée). Les en-têtes personnalisés et les tags de métadonnées sont acceptés par l’API mais ne sont pas encore transmis au prestataire de livraison.

Liste les e-mails envoyés (paginés) avec leur dernier événement de livraison :

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

Récupère un e-mail individuel avec son corps HTML/texte complet :

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

Tu n’as pas besoin d’écrire tout ça manuellement :

  • "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’adresse from doit être une identité vérifiée. L’envoi avec une adresse non vérifiée retourne une erreur.
  • Des limites mensuelles s’appliquent selon ton forfait Proyecta.
  • Éditeur de templates — conçois des templates transactionnels visuellement dans le builder
  • Endpoint d’envoi en masse/par lot pour les campagnes d’e-mailing