Pular para o conteúdo

Email

Envie emails transacionais pelo seu app. Gerencie identidades de remetente e acompanhe entregas em Dashboard > Emails ou pelo SDK.

Todo app no Proyecta pode enviar email transacional. Verifique uma identidade de remetente e envie direto do código do seu app — sem precisar de uma conta separada em outro provedor de email.

Abra Dashboard > Emails no builder. A aba tem duas sub-abas:

AbaPara que serve
IdentitiesAdicionar e verificar endereços de email ou domínios de remetente
SentVisualizar os emails enviados com o status de entrega (sent, delivered, bounced, etc.)

Você pode adicionar uma nova identidade de remetente e consultar o histórico de entregas — tudo sem escrever código.

  1. Crie e verifique uma identidade de remetente (um endereço de email ou um domínio)
  2. Chame proyecta.email.send() com o endereço verificado no campo from

O caminho mais simples é verificar um único endereço 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

Para acionar novamente a verificação:

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

Para apps em produção, verifique o domínio completo para poder enviar a partir de qualquer endereço nele (hello@, support@, noreply@, etc.).

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

A verificação de domínio via DNS (geração de registros SPF/DKIM e revalidação) está planejada, mas ainda não foi implementada.

Com a identidade verificada, envie usando:

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 retorna o objeto completo do email enviado (incluindo id, last_event e os campos da mensagem), que você pode usar para consultar o status de entrega posteriormente.

Destinatários. to, cc e bcc aceitam um único endereço ou um array.

Conteúdo. Forneça html, text ou ambos. Para melhor entregabilidade, inclua uma versão em texto simples.

Reply-to, cabeçalhos personalizados e tags de metadados. reply_to é suportado (utiliza o primeiro endereço informado). Cabeçalhos personalizados e tags de metadados são aceitos pela API, mas ainda não são repassados ao provedor de entrega.

Liste os emails enviados (paginados) com o último evento de entrega:

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

Busque um email específico com o corpo HTML/texto completo:

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

Você não precisa escrever isso manualmente:

  • "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."
  • O endereço em from deve ser uma identidade verificada. Enviar com um endereço não verificado retorna um erro.
  • Limites mensais se aplicam de acordo com o seu plano no Proyecta.
  • Editor de templates — crie templates transacionais visualmente no builder
  • Endpoint de envio em lote para disparos em massa