メールテンプレート運用¶
概要¶
Vendure EmailPlugin のメールテンプレートを共通仕様で管理し、言語別テンプレートを扱えるようにします。テンプレートはすべて MJML で統一し、共通のヘッダー/フッターを利用します。
テンプレート配置¶
- ルート:
apps/vendure-server/static/email/templates/ - 種別ごとのテンプレート:
apps/vendure-server/static/email/templates/<type>/ - 共通パーシャル:
apps/vendure-server/static/email/templates/partials/
実装済みテンプレート一覧¶
| イベント | ハンドラー名 | テンプレートディレクトリ | 概要 |
|---|---|---|---|
| 注文確定 | orderConfirmationHandler |
order-confirmation |
注文完了時に送信される確認メール |
| メールアドレス確認 | emailVerificationHandler |
email-verification |
会員登録時のアドレス有効性確認 |
| パスワードリセット | passwordResetHandler |
password-reset |
パスワード忘失時の再設定用リンク |
| アドレス変更確認 | emailAddressChangeHandler |
email-address-change |
メールアドレス変更時の確認 |
| パスワード発行 | passwordIssuedHandler |
password-issued |
管理者によるパスワード手動発行通知 |
| 注文キャンセル | orderCancelledHandler |
order-cancelled |
注文がキャンセルされた際の通知 |
| 会員情報変更 | customerProfileUpdatedHandler |
customer-updated |
プロフィール情報が変更された際のセキュリティ通知 |
| 会員登録完了 | registrationCompletedHandler |
registration-completed |
アドレス確認後の本登録完了通知 |
| 出荷完了 | shipmentCompletedHandler |
shipping-completed |
商品発送時の通知(追跡番号含む) |
言語別テンプレート¶
body.hbs(デフォルト/日本語) を用意する- 必要に応じて
body.en.hbs等を追加可能(LanguageAwareTemplateLoaderにより自動解決)
共通仕様¶
- すべてのメールは MJML で統一する
{{> header }}/{{> footer }}を共通利用する- 件名は
apps/vendure-server/src/vendure-config.shared.tsで統一管理する - テンプレートプレビューの件名は
apps/vendure-server/src/plugins/email-preview/email-preview.service.tsと同期する
多言語対応の方針¶
- 言語ごとのテンプレートファイルを追加するだけで拡張可能
- 既定言語は日本語とする