mcpField
E
extension-email

extension-email

github.com/caffeinelabs開発228.6k 回インストール6 日前に更新
リポジトリ

extension-email について

バックエンド canister からサービスメールやトランザクションメールを送る Caffeine AI 向けスキルです。宛先ごとに個別送信し、失敗時も例外を投げずに成功またはエラーを返します。

主な機能

  1. 01サービスメールとトランザクションメールの送信
  2. 02宛先ごとの個別メール送信
  3. 03成功またはエラー結果の返却

活用シーン

  1. 01注文確認メールの送信
  2. 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 のシグネチャに変更はありません。すべての送信に冪等性キーが付与されるようになったため、再試行されたアウトコールは一度だけ送信され、課金されます。認証またはマーケティングのメールを使用するアプリは、該当するスキルのアップグレード手順に従ってください。

コメント