Email Account

Email Account は、1 つの Space に登録する SMTP 送信者です。メールを送るサーバーアドレスとログイン情報、そして送信元アドレスを 1 つにまとめて保存しておくリソースです。ScriptEmailSend statement が実行されるとき、この Email Account を通じて実際のメールが送られます。たとえば服屋のショッピングモールで注文が入るたびに確認メールを送るには、まず送信に使う Email Account を登録しておき、Script がそれを参照するようにします。

Email Account は CMA で管理する Space 配下のリソースであり、パスは /spaces/{spaceId}/email-accounts を基準とします。公開(publish)の概念はありません。状態値や公開段階なしに、作成すればすぐに送信に使えます。ただし作成は無害な参照的動作ではなく、実際にメールを 1 通送って設定を検証する動作である点、そして接続情報(endpointusernamepassword)は一度作成すると変更できない点を、以下で扱います。

リソース構造

次は Email Account を作成したときのレスポンスです。sys(システムプロパティ)には識別子とバージョンが、本文には送信者設定(nameendpointusernamefromAddressfromName)が入ります。パスワード(password)はレスポンスのどこにも出てきません。

{
  "sys": {
    "id": "3trmXRMdKpLc7GfNbyVQeR2WsT9LnU",
    "type": "EmailAccount",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "createdBy": { "sys": { "id": "9dLmQ2pVnRb8sTfWcXd3LhJ7gK", "type": "Refer", "targetType": "User" } },
    "createdAt": "2026-08-04T05:12:44.108Z",
    "updatedBy": { "sys": { "id": "9dLmQ2pVnRb8sTfWcXd3LhJ7gK", "type": "Refer", "targetType": "User" } },
    "updatedAt": "2026-08-04T05:12:44.108Z",
    "version": 1
  },
  "name": "注文通知の送信",
  "endpoint": {
    "host": "smtp.gmail.com",
    "port": 587,
    "security": "StartTls"
  },
  "username": "orders@example-shop.com",
  "fromAddress": "orders@example-shop.com",
  "fromName": "服屋の注文"
}

主なキー:

  • sys.id: Email Account の一意の識別子です。単一取得・更新・削除パスの {emailAccountId} に入ります。
  • sys.version: リソースのバージョンです。1 から始まり、更新するたびに上がります。更新リクエストにこの値を X-Weegloo-Version ヘッダーとして載せて送ります(下の 状態と制約 を参照)。
  • name: コンソールに表示されるラベルです(例: 注文通知の送信)。送信には使われず、From 表示名でもありません。 複数の送信者を区別するための名前にすぎません。
  • endpoint: 接続する SMTP サーバーです。hostportsecurity の 3 つの値で構成されます。
  • username: SMTP ログインのユーザー名です。プロバイダーごとに異なります。メールアドレスそのままの場合もあれば、送信サービスが定めた固定文字列やドメイン単位のログインの場合もあります。
  • fromAddress: 送信元アドレスです。送信するエンベロープの返送先(MAIL FROM)であり、受信者に見える From アドレスとしても併用されます。
  • fromName: From ヘッダーに表示される表示名です(任意)。なければアドレスだけが表示されます。

パスワード(password)は作成リクエストの本文でのみ送る書き込み専用の値なので、上記のレスポンスにも、以降の取得・一覧のどこにも返ってきません。username は取得レスポンスに、入力した値がそのまま出ます。

システムプロパティ (sys)

すべての Email Account は共通のシステムプロパティを sys オブジェクトに持ちます。spacecreatedByupdatedByRefer の形({ "sys": { "id", "type": "Refer", "targetType" } })で入ります。

プロパティ説明
idstringリソースの一意の識別子。
typestringリソースの種類。Email Account は常に "EmailAccount"
spaceRefer<Space>この送信者が属する Space
createdByRefer<User>登録したユーザー。
createdAtstring (date-time)作成時刻。
updatedByRefer<User>最後に更新したユーザー。
updatedAtstring (date-time)最後の更新時刻。
versioninteger (≥1)リソースのバージョン。更新時に X-Weegloo-Version ヘッダーで現在の値を送ります。

本文プロパティ:

プロパティ説明
namestring (1~64)コンソールに表示されるラベル。送信には使われず、From 表示名でもありません。
endpointSmtpEndpoint接続する SMTP サーバー(hostportsecurity)。
endpoint.hoststringSMTP サーバーのホスト(例: smtp.gmail.com)。
endpoint.portinteger (1~65535)SMTP ポート。慣例上 587StartTls465Tls と対になります。
endpoint.securitystring転送区間のセキュリティ。StartTls または Tls のいずれかです。パスワードがやり取りされるため、平文接続は許可されません。
usernamestringSMTP ログインのユーザー名。プロバイダーごとに異なり、メールアドレスではないことがあります。
fromAddressstring (email, ≤254)送信元アドレス。エンベロープの返送先(MAIL FROM)であり From ヘッダーとして使われます。サーバーが再書き込みすることがあります(例: Gmail は認証アカウントに強制)。
fromNamestringFrom ヘッダーの表示名。任意。なければアドレスだけが表示されます。

作成リクエスト本文専用の入力:

プロパティ説明
passwordstringSMTP ログインのパスワード。書き込み専用です。 どのレスポンスにも出てこず、値を再び読み取ることはできず、置き換え(再作成)のみ可能です。必須。

送信者情報と接続情報

Email Account の値は 2 種類に分かれます。この区別が、何を変更できるかを決めます。

  • 接続情報 — endpointusernamepassword 作成後は変更できません。送信サーバーを移したりログイン情報をローテーションしたりするときは、新しい Email Account を作成して既存のものを削除します。パスワードは上で説明したとおり再び読み取れないため、紛失した場合は再設定ではなく再作成で対処します。
  • 送信者情報 — namefromAddressfromName 作成後も更新(PUT)で変更できます。ラベルを整理したり送信元アドレス・表示名を変えたりするときに使い、このとき接続情報はそのまま維持されます。

作成時に実際のメールが送信されます

Email Account の作成は、設定を保存するだけの動作ではありません。保存する前に、サーバーが入力された endpointusernamepassword で実際に接続し、テストメールを 1 通送ります。 送信先は fromAddress であり、username が別のアドレスであればそのアドレスまで含まれることがあります。

  • 送信に成功して初めてリソースが保存されます。
  • サーバーが接続・認証・送信のいずれかの段階で拒否すると、何も作成されずに失敗し、レスポンスにサーバーが返した失敗理由が併せて入ります。

そのため、誤った値で作成を繰り返すと、そのたびに実際の送信が試みられる点に注意してください。

状態と制約

作成・更新時に守る値の制約です。

対象制約
name1~64 文字、必須。
endpoint.host必須。
endpoint.port1~65535、必須。
endpoint.securityStartTls または Tls、必須。平文不可。
username必須(作成時)。作成後は不変。
password必須(作成時)、書き込み専用。作成後は不変(置き換えは再作成)。
fromAddressメール形式、254 文字以下、必須。
fromName任意。

動作と権限に関するルール:

  • 接続情報は不変です。 Update(PUT)で変更できるのは namefromAddressfromName だけです。endpointusernamepassword を変えるには新しく作成して既存のものを削除します。
  • 更新にはバージョンが必要です。 Update リクエストに現在の sys.version の値を X-Weegloo-Version ヘッダーで送ります。値が最新でなければバージョン競合で拒否されます。このときはリソースを取得し直して最新の sys.version で再試行します。
  • パスワードは再び読み取れません。 取得・一覧のどこにも出てこないため、紛失時は再設定ではなく再作成で対処します。
  • プランによって使える SMTP サーバーが異なります。 プリセットとして提供されるプロバイダーのホスト(Gmail・Naver・Resend・Brevo)は、低いプランでも登録できます。プリセットにない任意(セルフホスティング)のホストは、支払い方法が登録されている場合にのみ使用できます。プランごとのポリシーは 料金プラン を参照してください。

API

以下のすべてのエンドポイントの基準 URL は https://cma.weegloo.com/v1 であり、Authorization ヘッダーに CMA を認証する Bearer トークンが必要です。更新(PUT)には X-Weegloo-Version ヘッダーが追加で必要です。

  • Script: EmailSend statement でこの Email Account を通じてメールを送ります。
  • SpaceRole: この Space のリソースアクセス権限を定義するロール。
  • 料金プラン: プリセットプロバイダーのホストと任意(セルフホスティング)SMTP ホストの使用ポリシー。