caffeinelabs/skills

extension-email-raw

Send an email with multiple to, cc and bcc addresses.

All-time #1008 Trending #730 Hot #3537 First seen Apr 4, 2026
8-week activity · all time api

Installation

$ npx skills add caffeinelabs/skills --skill extension-email-raw

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from caffeinelabs/skills · top by installs.

npx skills add caffeinelabs/skills

Browse all from caffeinelabs/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License LICENSE
Default branch main
Open issues 6
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version0.1.6

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,273 B
  • docs SUMMARY.md 77 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 18,700 installs

SKILL.md

Email — Raw Multi-Recipient

Raw multi-recipient email extension for Caffeine AI.

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);
      };
    };
  };
};