コンテンツにスキップ

メール

アプリからトランザクションメールを送信できます。送信者IDの管理や配信状況のトラッキングは、Dashboard > Emails またはSDKから行えます。

すべての Proyecta アプリでトランザクションメールを送信できます。送信者IDを確認してから、アプリのコードで送信するだけ — 別途メールプロバイダーのアカウントは不要です。

builderで Dashboard > Emails を開きます。このタブには2つのサブタブがあります:

タブ用途
Identities送信者のメールアドレスまたはドメインを追加・確認する
Sent配信状況(sent、delivered、bounced など)とともに送信済みメールを閲覧する

コードを書かずに、新しい送信者IDの追加やメール配信履歴の確認ができます。

  1. 送信者IDを作成・確認する(メールアドレスまたはドメイン)
  2. proyecta.email.send() を呼び出し、from フィールドに確認済みアドレスを指定する

最もシンプルな方法は、単一のメールアドレスを確認することです。

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

確認チェックを再実行するには:

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

本番環境のアプリには、ドメイン全体を確認することをおすすめします。そうすることで、そのドメインの任意のアドレス(hello@support@noreply@ など)から送信できるようになります。

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

DNSベースのドメイン確認(SPF/DKIMレコードの生成と再チェック)は計画中ですが、まだ実装されていません。

IDが確認できたら、次のように送信します:

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 は送信済みメールのオブジェクト全体(idlast_event、メッセージフィールドを含む)を返します。後で配信状況を確認する際に利用できます。

宛先。 toccbcc はいずれも単一アドレスまたは配列で指定できます。

コンテンツ。 htmltext、またはその両方を指定してください。配信性を高めるため、プレーンテキスト版も含めることをおすすめします。

Reply-to、カスタムヘッダー、メタデータタグ。 reply_to はサポートされています(先頭のアドレスが使用されます)。カスタムヘッダーとメタデータタグはAPIで受け付けますが、現時点では配信プロバイダーへの転送は未実装です。

送信済みメールを最新の配信イベントとともに一覧表示します(ページネーション対応):

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

HTML/テキスト本文を含む単一メールを取得するには:

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

これらを手動で書く必要はありません:

  • "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."
  • from アドレスは確認済みのIDである必要があります。 未確認のアドレスで送信するとエラーが返されます。
  • 月間送信数の上限があります。 上限は Proyecta のプランによって異なります。
  • テンプレートエディター — builderでトランザクションテンプレートをビジュアルにデザインできる機能
  • 一括/バッチ送信 endpoint — 大量メール配信に対応