Lewati ke konten

Email

Kirim email transaksional dari aplikasimu. Kelola identitas pengirim dan lacak pengiriman dari Dashboard > Emails atau SDK.

Setiap aplikasi Proyecta dapat mengirim email transaksional. Verifikasi identitas pengirim, lalu kirim dari kode aplikasimu — tanpa perlu akun penyedia email terpisah.

Buka Dashboard > Emails di builder. Tab ini memiliki dua sub-tab:

TabFungsinya
IdentitiesTambah dan verifikasi alamat email atau domain pengirim
SentTelusuri email yang telah dikirim beserta status pengirimannya (sent, delivered, bounced, dll.)

Kamu bisa menambahkan identitas pengirim baru dan menelusuri riwayat pengiriman email — semuanya tanpa perlu menulis kode.

  1. Buat dan verifikasi identitas pengirim (alamat email atau domain)
  2. Panggil proyecta.email.send() dengan alamat yang sudah terverifikasi di field from

Cara paling mudah adalah memverifikasi satu alamat 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

Untuk memicu ulang pemeriksaan verifikasi:

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

Untuk aplikasi produksi, verifikasi seluruh domain agar kamu bisa mengirim dari alamat mana saja di domain tersebut (hello@, support@, noreply@, dll.).

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

Verifikasi domain berbasis DNS (pembuatan dan pemeriksaan ulang rekaman SPF/DKIM) sedang direncanakan namun belum tersedia.

Setelah identitasmu terverifikasi, kirim dengan:

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 mengembalikan objek email lengkap yang telah dikirim (termasuk id, last_event, dan field pesan), yang dapat kamu gunakan untuk mencari status pengiriman nantinya.

Penerima. to, cc, dan bcc semuanya menerima satu alamat atau array alamat.

Konten. Berikan html, text, atau keduanya. Untuk ketercapaian pengiriman terbaik, sertakan versi teks biasa.

Reply-to, custom header, metadata tag. reply_to didukung (alamat pertama yang digunakan). Custom header dan metadata tag diterima oleh API namun belum diteruskan ke penyedia pengiriman.

Tampilkan daftar email yang telah dikirim (paginasi) beserta event pengiriman terbaru:

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

Ambil satu email beserta isi HTML/teks lengkapnya:

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

Kamu tidak perlu menulis ini secara 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."
  • Alamat from harus merupakan identitas yang terverifikasi. Mengirim dengan alamat yang belum terverifikasi akan mengembalikan error.
  • Batas bulanan berlaku berdasarkan paket Proyecta yang kamu gunakan.
  • Template editor — rancang template transaksional secara visual di builder
  • Bulk/batch send endpoint untuk pengiriman massal