extension-email について
バックエンド canister からサービスメールやトランザクションメールを送る Caffeine AI 向けスキルです。宛先ごとに個別送信し、失敗時も例外を投げずに成功またはエラーを返します。
主な機能
- 01サービスメールとトランザクションメールの送信
- 02宛先ごとの個別メール送信
- 03成功またはエラー結果の返却
活用シーン
- 01注文確認メールの送信
- 02単発通知の送信
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ caffeinelabs/ skills --skill extension-emailインストール後、Claude Code で/extension-emailを入力して読み込まれたか確認します。
詳細
メール — サービス/トランザクション
Caffeine AI向けのサービス/トランザクションメール拡張機能です。
概要
このスキルを使用すると、バックエンドのカニスターからサービスメールやトランザクションメールを送信できます。注文確認や通知など、単発のメールには sendServiceEmail を使用します。
バックエンド
このコンポーネントは、サービス/トランザクションメールの送信に使用します。
変更できない、あらかじめ用意されたモジュール mo:caffeineai-email/emailClient.mo があります。
sendServiceEmail関数を使用します。- 受信者ごとに個別のメールが送信されます。
SendResultが返されます。メールの送信に成功した場合は#ok、それ以外の場合はエラーテキストを含む#err(error)が返されます。- 送信に失敗しても、例外がスローされることはありません。ゲートウェイエラーを含め、すべての失敗は
#errとして返されます。
module {
public type SendResult = {
#ok;
#err : Text;
};
public func sendServiceEmail(
fromUsername : Text,
recipients : [Text],
subject : Text,
htmlBody : Text,
) : async SendResult;
};
sendServiceEmail の使用方法:
import Runtime "mo:core/Runtime";
import EmailClient "mo:caffeineai-email/emailClient";
actor {
public func sendOrderConfirmationEmail(recipientEmailAddress : Text, username : Text, orderReference : Text) : async () {
let result = await EmailClient.sendServiceEmail(
"no-reply",
[recipientEmailAddress],
"Order " # orderReference # " confirmed",
"Hello " # username # ",\nYour order " # orderReference # " has been confirmed. Your items will ship tomorrow.",
);
switch (result) {
case (#ok) {};
case (#err(error)) {
Runtime.trap("Failed to send order confirmation email: " # error);
};
};
};
};
以前のバージョンからのアップグレード
caffeineai-email 0.3.x で構築されたアプリは、mops add [email protected] で再固定します。sendServiceEmail と sendRawEmail のシグネチャに変更はありません。今後、すべての送信は、デプロイのたびにプラットフォームから注入される設定(INTEGRATIONS_GATEWAY_URL / INTEGRATIONS_GATEWAY_API_KEY)を使用してメールゲートウェイ経由で行われます。トランスポートカニスターと INTEGRATIONS_CANISTER_ID は使用されなくなり、これらの設定がない状態で送信すると、フォールバックせずに #err が返されます。認証、マーケティング、またはカレンダーのメールを使用するアプリは、該当するスキルのアップグレード手順に従ってください。
caffeineai-email 0.2.x で構築されたアプリは、mops add [email protected] で再固定します。sendServiceEmail と sendRawEmail のシグネチャに変更はありません。すべての送信に冪等性キーが付与されるようになったため、再試行されたアウトコールは一度だけ送信され、課金されます。認証またはマーケティングのメールを使用するアプリは、該当するスキルのアップグレード手順に従ってください。