Skip to content

Request to add cc and bcc content #1

Description

@randallmorse

Feature Request: Configurable CC/BCC support with patterns and data-driven defaults

Summary

Extend the open-source email generation tool to support configurable CC and BCC recipients with flexible patterns (linear list, randomized list, and profile-based presets), plus a research spike to establish data-driven defaults for CC/BCC usage.

Motivation

Users want CC and BCC to work similarly to existing To/From patterns and mail profiles, with the ability to:

  • read CC/BCC recipients from a list file (linear or random order)
  • use per-profile defaults or patterns for CC/BCC
  • validate addresses and preserve proper EML headers
  • apply privacy-conscious handling so BCC recipients aren’t exposed unnecessarily

What’s being proposed

  • Add CC and BCC recipient support to the email generation pipeline.
  • Support multiple recipient-patterning options:
  • Linear list from a file (preserve order)
  • Randomized list (shuffle; configurable seed for deterministic tests)
  • Profile-driven presets (per-profile defaults)
  • Expose configuration flags to control enabling, pattern type, and limits:
  • CC: enable flag, pattern, min/max recipients, list source or profile reference
  • BCC: enable flag, pattern, min/max recipients, list source or profile reference
  • Ensure generated EMLs have correct CC: and BCC: headers, with privacy considerations (avoid unintended leakage when applicable).
  • Extend the mail profile system to include CC/BCC defaults and per-profile overrides.
  • Add validation, tests, and documentation (user and developer).

Acceptance Criteria

CC/BCC features are accessible via the CLI with clear options.

Patterns supported:

  • Linear CC/BCC from a line-separated file (preserve order)
  • Randomized CC/BCC from a line-separated file (seedable RNG for deterministic tests)
  • Per-profile CC/BCC defaults (profile-driven)
  • Generated EMLs include CC: and BCC: headers based on the chosen pattern, and BCC recipients are not exposed to other recipients when applicable.
  • Recipient resolution is integrated with the existing To/From handling and mail profile logic.

Comprehensive test coverage:

  • Linear CC/BCC, randomized CC/BCC, profile-driven CC/BCC
  • 0 recipients, 1 recipient, multiple recipients ≤ defined max
  • Invalid email formats are rejected with clear errors
  • End-to-end EML generation validated by parsing headers
  • Documentation updated (user guide and developer docs) with usage examples, patterns, and profile integration details.
  • A research spike (Ticket/Issue) provides baseline defaults for CC/BCC usage and includes citations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions