К основному содержанию
скилл CX Codex

extension-email-raw — скилл для Claude Code: письма с to, cc и bcc

Скилл добавляет в проект отправку одного письма сразу нескольким получателям через to, cc и bcc. Пригодится, когда нужно разослать уведомление участникам встречи.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add caffeinelabs/skills --skill extension-email-raw -a claude-code
Открыть на GitHub

Что делает extension-email-raw

Скилл опирается на extension-email и даёт функцию sendRawEmail. Она принимает имя отправителя, списки to, cc, bcc, тему и HTML-тело письма, а возвращает SendResult: #ok, если всё ушло, или #err(error) с текстом ошибки. Все получатели видят одно и то же письмо.

Важное ограничение: всего не больше 50 адресатов, и каждый из них увидит остальных в списке. Для сервисных рассылок это не годится — там раскрытие адресов нарушает приватность пользователей. Скилл для этого и не предназначен.

Для работы нужен пакет caffeineai-email версии ~0.4.0 и подписка Caffeine AI уровня plus или pro. Начиная с 0.4.0 отправка идёт через почтовый шлюз с настройками, которые платформа подставляет при каждом деплое (INTEGRATIONS_GATEWAY_URL и INTEGRATIONS_GATEWAY_API_KEY). Если этих настроек нет, вызов вернёт #err, а не тихий откат. Транспортный канистр и INTEGRATIONS_CANISTER_ID больше не используются — это повод проверить конфиг при обновлении с 0.3.x.

Какие задачи решает

  • отправить одно письмо нескольким адресатам сразу
  • разослать напоминание участникам встречи
  • поставить коллег в cc, а руководителя в скрытую копию
  • обработать ошибку отправки через #err
  • обновить проект с caffeineai-email 0.3.x на 0.4.0

Примеры запросов агенту

  • Добавь в проект отправку письма с несколькими получателями через sendRawEmail
  • Сделай функцию, которая шлёт напоминание о встрече подтверждённым участникам в to, а сомневающимся в cc
  • Проверь, что при ошибке отправки возвращается #err с текстом, и обработай этот случай

Как установить extension-email-raw

1Через Skills CLI (Vercel)

npx skills add caffeinelabs/skills --skill extension-email-raw -a claude-code

2Вручную: положить файлы

~/.claude/skills/extension-email-raw/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/extension-email-raw/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о extension-email-raw

Как установить extension-email-raw в Claude?

Выполните npx skills add caffeinelabs/skills --skill extension-email-raw -a claude-code. Скилл окажется в ~/.claude/skills/extension-email-raw/SKILL.md.

Что делает extension-email-raw?

Добавляет функцию sendRawEmail для отправки одного письма с несколькими адресами в to, cc и bcc. Возвращает #ok или #err(error).

Сколько получателей выдержит скилл?

Не больше 50 адресатов в сумме. Каждый получатель видит остальных в списке, поэтому для сервисных рассылок скилл не подходит.

Исходный текст

SKILL.md · Apache-2.0
---
name: extension-email-raw
description: Send an email with multiple to, cc and bcc addresses.
version: 0.2.0
compatibility:
  mops:
    caffeineai-email: "~0.4.0"
caffeineai-subscription: [plus, pro]
---

# Email — Raw Multi-Recipient
Raw multi-recipient email extension for [Caffeine AI](https://caffeine.ai?utm_source=caffeine-skill&utm_medium=referral).

## Overview

This skill adds support for sending emails with multiple `to`, `cc`, and `bcc` recipients. Not suitable for bulk service emails (recipients see each other).

# Backend

## This extension is for sending an email with support for multiple `to`, `cc` and `bcc` addresses.

- This should NOT be used for sending service emails to multiple users because each recipient will see all the other recipients listed which would typically be a breach of user privacy.

### For sending an email

- This extension depends on the [extension-email](../extension-email/SKILL.md) for sending emails.
- Use the sendRawEmail function. 
- It returns a SendResult which is #ok if the email is sent successfully otherwise #err(error) with the error text. 
- There can be a maximum of 50 recipients in total
- Each recipient receives the same email

```mo:caffeineai-email/emailClient.mo
module {
  public type SendResult = {
    #ok;
    #err : Text;
  };

  public func sendRawEmail(
    fromUsername : Text,
    to : [Text],
    cc : [Text],
    bcc : [Text],
    subject : Text,
    htmlBody : Text,
  ) : async SendResult;
};
```

### Example usage for sending an email reminder to meeting attendees.

```motoko filepath=src/backend/main.mo
import Runtime "mo:core/Runtime";
import EmailClient "mo:caffeineai-email/emailClient";

actor {
  public func sendMeetingReminder(
    meetingSubject : Text,
    meetingTime : Text,
    confirmedAttendeeEmails : [Text],
    tentativeAttendeeEmails : [Text],
  ) : async () {
    let result = await EmailClient.sendRawEmail(
      "no-reply",
      confirmedAttendeeEmails,
      tentativeAttendeeEmails,
      [],
      meetingSubject,
      "Reminder the meeting will start at " # meetingTime,
    );

    switch (result) {
      case (#ok) {};
      case (#err(error)) {
        Runtime.trap("Failed to send meeting reminder email: " # error);
      };
    };
  };
};
```

## Upgrading from the previous version

An app built with `caffeineai-email` 0.3.x re-pins with `mops add [email protected]`. `sendRawEmail` keeps its signature. Every send now goes through the mail gateway with the settings the platform injects on every deploy (`INTEGRATIONS_GATEWAY_URL` / `INTEGRATIONS_GATEWAY_API_KEY`); the transport canister and `INTEGRATIONS_CANISTER_ID` are no longer used, and a send without those settings returns `#err` instead of falling back.

An app built with `caffeineai-email` 0.2.x re-pins with `mops add [email protected]`. `sendRawEmail` keeps their signatures; every send now carries an idempotency key, so a retried outcall is sent and charged once. Apps that use verification or marketing email follow the upgrade sections of those skills.

© caffeinelabs · Apache-2.0 · caffeinelabs/skills

Похожие скиллы

Всё по теме «Бэкенд и API» →
agent-email-inbox resend Помогает настроить приём входящих писем через вебхуки Resend для ИИ-агентов. Защищает систему от непроверенных отправителей и запускает сценарии обработки почты. CX Codex +1 13 400установок cloudflare-email-service cloudflare Скилл для работы с Cloudflare Email Sending и Email Routing: помогает настроить отправку и приём писем в Workers. CX Codex +1 102 300установок email-best-practices Resend Скилл от Resend: агент проверяет доставляемость писем, согласие на рассылку, комплаенс и доступность вёрстки ещё до отправки. CX Codex +1 13 500установок email-smtp-send tiangong-ai Отправляет письма через SMTP с локальными вложениями и сохраняет копию в папку «Отправленные» через IMAP. Пригодится агенту для надёжной почтовой рассылки и отчётов. CX Codex +1 6 800установок pipefy-members-email-webhooks pipefy Скилл для работы с Pipefy через агента: приглашает участников в пайп, отправляет письма из инбокса карточки и управляет вебхуками. CX Codex +1 669установок mjml-email-templates Aaronontheweb Скилл учит агента собирать транзакционные письма на MJML и компилировать их в HTML, который одинаково выглядит в Outlook, Gmail и Apple Mail. CX Codex +1 492установок

Из того же набора25

extension-qr-code Добавляет в React-приложение сканирование QR-кодов через камеру устройства. Пригодится, когда нужно считать код прямо в браузере. CX Codex +1 28 200установок extension-stripe Добавляет в проект на Caffeine AI оплату картами через Stripe: создание checkout-сессии и проверку её статуса. Пригодится, когда нужен приём платежей внутри канистры. CX Codex +1 28 200установок extension-posting-to-x Скилл для сборок Caffeine, которые публикуют твиты в X. Задаёт единственный поддерживаемый путь через пакет x-client и OAuth 2.0 PKCE. CX Codex +1 28 100установок extension-openai Задаёт правила интеграции OpenAI в канистры Motoko через пакет openai-client. Защищает API-ключ от утечки при реплицированных вызовах. CX Codex +1 28 100установок extension-invite-links Скилл добавляет в проект систему приглашений и сбор ответов RSVP. Гости отправляют подтверждения по кодам без авторизации, а администратор видит сводку через вход в систему. CX Codex +1 28 100установок extension-http-outcalls Скилл для HTTP-запросов из бэкенд-канистры к внешним API. Следит, чтобы каждый запрос был ограничен на стороне провайдера. CX Codex +1 28 100установок extension-email Скилл учит агента отправлять сервисные и транзакционные письма из канистр Motoko. Пригодится для разовых системных оповещений и чеков. CX Codex +1 28 100установок extension-object-storage Скилл добавляет в проект хранилище файлов: содержимое лежит вне сети, а бэкенд держит только ссылки на него. Пригодится для галерей изображений, видео и документов. CX Codex +1 28 100установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой