メールテンプレート
keenauth_email_template リソースは、カスタマイズ可能なメールテンプレート 1 件の公開済みの内容を管理します。管理対象は、1 つのファミリ(例:verify_email)と 1 つのロケールの組み合わせです。このリソースには Startup プラン以上が必要です(それ以外の場合は 403 plan_feature_unavailable が返されます)。
resource "keenauth_email_template" "verify" {
family = "verify_email"
locale = "en"
subject = "Confirm your email"
html = "<p>Confirm your email address: <a href=\"{{ link }}\">Confirm</a></p>"
text_body = "Confirm your email address: {{ link }}"
from_name = "Acme"
}
| 属性 | 説明 |
|---|---|
family、locale |
管理対象のスロットです。どちらかを変更すると、別のテンプレートを管理することになります。 |
subject |
Liquid 形式のプレーンテキストで、最大 200 文字、改行は不可です。 |
html |
Liquid 形式の HTML フラグメントで、最大 256 KiB です。 |
text_body |
Liquid 形式のプレーンテキスト本文(必須)で、最大 64 KiB です。 |
from_name |
任意の送信者表示名で、最大 64 文字です。未設定の場合は、アプリケーション名または環境名が使用されます。 |
overwrite_pending_draft |
任意で、デフォルトは false です。詳細は後述します。 |
version、latest_version |
読み取り専用です。公開済みのバージョンと、そのスロットの最新バージョンを示します。 |
サーバーは書き込み時と公開時の両方で内容を検証します。検証項目は、Liquid サンドボックス、HTML の閉じタグの整合性、禁止された構文、そしてファミリに必要な {{ link }} または {{ code }} が HTML 本文とテキスト本文の両方に含まれているかどうかです。
変更の適用方法
PUTで内容を新しいドラフトバージョンとして書き込みます。If-Matchには、最後の読み取り時点でのスロットの最新バージョンを指定します(バージョンのないスロットの場合は"0")。POST …:publishで、そのバージョンを公開します。以前のバージョンはアーカイブされ、履歴に残ります(最新 50 バージョンと公開済みバージョンが保持されます)。
このリソースは公開済みのバージョンを読み取ります。ダッシュボードで公開またはロールバックされたバージョンは、次の plan でドリフトとして表示されます。
保留中のドラフト
公開済みバージョンより新しいドラフト(ダッシュボードで保存されたもの、または公開失敗により残ったもの)は、黙って上書きされることはありません。
- 構成と同じ内容のドラフトは、別のバージョンを書き込まずに公開されます。失敗した公開の再試行にもなります。
- 内容の異なるドラフトがある場合、変更は
Pending email template draftで失敗します。ダッシュボードで公開またはレビューするか、overwrite_pending_draft = trueを設定して、より新しいバージョンで上書きしてください。古いドラフトは履歴に残りますが、もう公開することはできなくなります。 - 保留中のドラフトが存在する間、
planは警告を表示します。
plan と apply の間にテンプレートへ書き込みがあった場合、API は 412 を返し、何も変更されません。その場合は plan を再度実行してください。
作成、インポート、削除
- 作成時には、同じ内容の公開済みテンプレートが取り込まれます。スロットに別の内容の公開済みテンプレートがすでにある場合、プロバイダはそれを上書きしません。
tofu import keenauth_email_template.verify verify_email/enでインポートし、plan を確認してください。 - 削除は state からリソースを削除するだけです。API には削除機能がないため、公開済みのテンプレートとその履歴はそのまま残ります。API からシステムのデフォルトに戻すことはできません。送信内容を変更するには、テンプレートを編集するか、
keenauth email-templates rollbackで以前に公開したバージョンに戻してください。