ObjectOS
設定

メール

トランザクションメールの配信プロバイダーとテンプレートを設定します。

メール

ObjectOS は、アプリケーションが必要とする場面(パスワードリセット、招待、承認通知、スケジュールされたレポート)で、フレームワークのメールプラグインを通じてトランザクションメールを送信します。このプラグインには 3 つのトランスポートが同梱されています。

トランスポート

プロバイダー使用する場面必要な環境変数
logローカル開発。メールを送信する代わりに stdout に出力しますなし
resendResend による SaaS 配信OS_EMAIL_API_KEY
postmarkPostmark による SaaS 配信OS_EMAIL_API_KEY

デフォルトは log です。実際のプロバイダーが設定されていても API キーが指定されていない場合、ObjectOS は log トランスポートにフォールバックします。これは非本番環境が誤ってメールを送信してしまうのを防ぐのに役立ちます。

SMTP については?

ネイティブの SMTP トランスポートは、現時点ではランタイムに組み込まれていません。環境で SMTP が必要な場合(企業のリレー、オンプレミスのメール、エアギャップ環境へのデプロイ)には、本番グレードの選択肢が 2 つあります。

  1. SMTP-to-API リレーを ObjectOS の前段で実行する。 Resend、Postmark、およびセルフホスト型の代替手段(Postal、Cuttlefish)はいずれも SMTP の受信を受け付け、HTTP API 経由で再送信します。ObjectOS は通常どおり HTTPS でこれらと通信します。
  2. カスタムメールプラグインでランタイムを実行する。 メールプラグインの API は小さく(send(message) 関数が 1 つ)、nodemailer をラップするプロジェクトプラグインを requires リスト経由で組み込めます。spec リポジトリのプラグイン作成ガイドを参照してください。

ネイティブの SMTP トランスポートはロードマップに含まれています。進捗は github.com/objectstack-ai/objectos/issues で確認できます。

環境変数

変数目的
OS_EMAIL_PROVIDERlogresend、または postmark
OS_EMAIL_API_KEYプロバイダーの API キー(Resend または Postmark)
OS_EMAIL_FROMデフォルトの送信元アドレス。addr@xName <addr@x> の両方の形式をサポートします
OS_EMAIL_RETRIES送信失敗時のトランスポート再試行回数(デフォルトは 0

環境変数はアーティファクトの email 設定ブロック内の対応する値を上書きするため、運用担当者はアーティファクトを再ビルドすることなく配信先を変更できます。

テンプレート

再利用可能なテンプレートは sys_email_template に格納されます。テンプレートは、フレームワークのテンプレートエンジンによって評価される変数の補間をサポートします。アプリケーションコード(またはフロー)は、テンプレート ID と変数バンドルを指定してメールサービスを呼び出します。サービスは件名と本文を生成し、設定されたトランスポートに引き渡します。

配信の検証

Resend / Postmark の場合は、送信ドメインがプロバイダーのダッシュボードで設定されていること(SPF、DKIM、必要に応じて DMARC)を確認してください。最も手早いエンドツーエンドの確認方法は、メール設定ページにある Console のテストメール送信アクションです。これはライブのトランスポートを使用し、トランスポートエラーをインラインで表示します。

運用上のガイダンス

  • API キーはシークレットとして扱ってください。顧客のシークレットマネージャーに保存し、アーティファクトには決して含めないでください。
  • トランスポートエラーのログを監視してください。プロバイダーのレート制限、抑制(suppression)、バウンスはすべてそこに表示されます。
  • 監査上重要なトランザクションメール(パスワードリセット、MFA チャレンジ)は、顧客のポリシーに従って保持する必要があります。保持期間はトランスポートではなく監査ログに設定してください。
  • 送信メールは業務トランザクションをブロックしません。送信失敗はエラーとして表示されますが、発端となったレコードの変更をロールバックすることはありません。

On this page