メール
アプリからトランザクションメールを送信します。送信者IDの管理と配信状況の追跡は、アプリの Admin > Email から行えます。
すべての Proyecta アプリはトランザクションメールを送信できます。送信者IDを確認したら、アプリのコードから送信できます。別途メールプロバイダーのアカウントは不要です。
メールセクション
Section titled “メールセクション”builder の Admin > Email を開くか、公開済みサイトの /admin にアクセスしてください。2つのパートで構成されています。
| パート | 用途 |
|---|---|
| Identities | 送信者のメールアドレスまたはドメインの追加と確認 |
| Sent | 配信ステータス(送信済み、配信済み、バウンスなど)とともに送信済みメールを閲覧 |
コードを書くことなく、新しい送信者IDの追加やメール配信履歴の閲覧が行えます。
2ステップのセットアップ
Section titled “2ステップのセットアップ”- 送信者ID(メールアドレスまたはドメイン)を作成して確認する — 管理パネルで行います
- 送信する — アプリから
useSendEmail()を使うか、管理パネルからキャンペーン用に送信します
共有アドレス(@proyectamail.com)から送信する
Section titled “共有アドレス(@proyectamail.com)から送信する”最も簡単な方法は、Proyecta の共有送信ドメイン @proyectamail.com 上のアドレスを1つ取得することです。作成した瞬間に確認が完了します。プラットフォームがそのドメインを所有しているため、DNS レコードの設定は一切不要です。
アプリの管理パネルの Emails セクションで希望のアドレスを入力するだけで、すぐに使用できます。
単一アドレスは @proyectamail.com のみで利用できます。別のドメイン(例:hello@myapp.com)でのアドレス取得は拒否されます。独自ドメインから送信したい場合は、ドメイン全体を確認してください(下記参照)。共有アドレスはグローバルで予約されるため、同じ @proyectamail.com 送信者として2つのアプリが送信することはできません。
独自ドメインを確認する(Pro)
Section titled “独自ドメインを確認する(Pro)”独自ドメインから、そのドメインの任意のアドレス(hello@、support@、noreply@ など)で送信するには、ドメイン全体を確認します。共有の @proyectamail.com アドレスとは異なり、カスタムドメインは即座には確認されません。
同じ Emails セクションでドメインを追加してください。メールプロバイダーに登録され、DNS に公開すべき SPF、DKIM、DMARC レコードが表示されます。それらのレコードが伝播してプロバイダーが確認するまで、送信者は pending 状態のままです。確認が完了すると verified に変わります。レコードを公開したら、再確認ボタンを使用してください。
DNS ベースのドメイン確認は完全に実装済みです。レコードはプロバイダーによって生成され、再確認のたびにステータスが再ポーリングされます。
内部の仕組み: Proyecta は送信ドメインをメール認証プロバイダー(Resend)で認証し、メッセージをトランザクションプロバイダー(SendGrid)経由で配信します。どちらのアカウントも自分で管理する必要はありません。
アプリからメールを送信する
Section titled “アプリからメールを送信する”アプリのページからは、useSendEmail() フックを使ってメールを送信します。テンプレートを選択して変数を渡すと、プラットフォームがアプリの言語でメッセージを描画して送信します。
import { useSendEmail } from '@/hooks/useEmail.ts';
function ConfirmButton({ booking }) { const { send, isPending, error } = useSendEmail();
return ( <button disabled={isPending} onClick={() => send({ template: 'booking_confirmation', variables: { date: booking.date, service: booking.service }, }) } > Email me the details </button> );}渡す必要がないものに注目してください。宛先、件名、HTML は不要です。各テンプレートは独自の送信先を宣言しています。
self(予約・注文確認、ウェルカムメールなど)→ セッションから取得した、ログイン中のユーザー自身のアドレスowner(owner_alert)→ アプリの管理者
どちらもログイン済みのセッションが必要です。これは意図的な設計であり、仕様の抜けではありません。呼び出しを認証する公開可能なキーはページのソースコードに含まれるため、任意の宛先への送信を許可すると、誰でもあなたのアプリをスパムリレーとして利用できてしまいます。匿名の訪問者からの通知にはフォームを使用してください。フォームの送信は、所有者へのメール送信と送信者への確認が自動的に行われ、ブラウザから偽造することができません。
エラーは PlatformApiError として届きます。401(セッションが必要)、403(このアプリでテンプレートが有効化されていない)、429(レート制限 — メッセージを表示してリトライを促す)、422(メールアドレスが登録されていない)。
配信を追跡する
Section titled “配信を追跡する”管理パネルの Sent タブには、アプリが送信したすべてのメールが最新の配信イベント(delivered、opened、clicked、bounced、complained)とともに一覧表示されます。通常、このためにコードを書く必要はありません。
各エントリにはステータス(sent、delivered、opened、clicked、bounced、complained)が表示され、任意のメッセージを開いて送信された HTML とテキストの内容を確認できます。配信が失敗している場合は、まずここを確認してください。
AI に設定してもらう
Section titled “AI に設定してもらう”これらを手動で書く必要はありません。
"Verify hello@myapp.com as a sending identity.""Email the customer a confirmation after they finish booking.""After a successful checkout, send the customer their receipt.""Show me the last 20 emails we've sent and whether they bounced."
fromアドレスは確認済みのIDである必要があります。 未確認のアドレスで送信するとエラーが返されます。- 月間の送信上限は Proyecta のプランによって異なります。
近日公開予定
Section titled “近日公開予定”- テンプレートエディター — builder でトランザクションテンプレートをビジュアルに設計できる機能
- Bulk/batch send endpoint — 大量メール送信用